Переводил один небольшой проект с Windows на Ubuntu. Проект был написан на быдло-PHP: аккуратно, но весьма малоопытным программистом. Вот несколько встретившихся мелочей.
1. PHP минут 15 упорно не хотел запускать index.php, предлагая вместо этого скачать phtml-файл. Дело оказалось в кэше браузера.
2. Проект хранил свои настройки в файлах с русскими именами и с русскими переменными внутри. После переконвертации всех программных и настроечных файлов из cp1251 в utf8 проект замечательно заработал. Переконвертировал я так:
find . -name "*php" -exec iconv -f cp1251 -t utf8 {} -o {}.utf8 \;
find . -iregex ".+.php$" -exec rm {} \;
find . -name '.utf8' -prune -o -exec rename 's/\.utf8$//i' {} +
3. Русские файлы прикреплялись с потерей кусков имени. Проблема оказалась в некорректной работе функции basename. Чтобы нормально заработало, пришлось добавить строку
setlocale(LC_ALL, 'ru_RU.UTF8');
4. Выяснилось, что IE, получая файлы в UTF8 через скрипт getfile.php?filename=xxx, присваивает им безумные имена. Переписал функцию, чтобы ссылка вела сразу прямо на файл, всё заработало.
Подписаться на:
Комментарии к сообщению (Atom)
Архив блога
-
▼
2010
(64)
-
▼
апреля
(19)
- Lock: продолжение.
- newLISP: самодельная блокировка текстовых файлов
- JavaScript: закрывать псевдопопап по Escape
- SICP: малая теорема Ферма
- Uptime в среде Windows
- SICP 1.19: Фибоначчи по логарифму
- Чётные числа
- SICP: итеративное возведение в степень
- Способы разменять монеты
- Хвостовая рекурсия
- Фриддл, ДКА и НКА
- SICP
- JavaScript: навигация стрелками и Enter
- Windows -> Linux: ошибка sh: ./index.cgi: not found
- Обработка html в newLISP
- CSS: отцентровать весь документ
- Три добродетели программиста
- PuTTY и слепой синий цвет
- Миграция PHP программы с Windows на Linux
-
▼
апреля
(19)
Комментариев нет:
Отправить комментарий