|
 339 байт |
|
| Пытаясь использовать utf-8, я встретился с удивительными проблемами: страницы, содержащие совершенно одинаковый код, ведут себя по разному!
Сервер отдает в заголовке кодировку utf-8.
При этом файл, приведенный в Приложении, нормально работает. | |
|
|
|
|
 308 байт |
|
|
для: Владимир55
(07.03.2010 в 14:41)
| | А вот этот файл, содержащий точно такой же код (перенесен мышкой), не работает! | |
|
|
|
|
|
|
|
для: Владимир55
(07.03.2010 в 14:42)
| | Разобрался - в одном из них перед кодом есть нечитаемые знаки... | |
|
|
|
|
|
|
|
для: Владимир55
(07.03.2010 в 14:48)
| | в первом из файлов русские буквы в кодировке utf-8 , она-же cp65001
во втором в кодировке cp1251
нечитаемые символы (BOM), есть как-раз у того файла в котором наоборот 1251, поэтому многие текстовые редактороры найдя BOM сразу-же интерпритируют символы там как utf-8, хоть это и не так. | |
|
|
|
|
|
|
|
для: exp
(07.03.2010 в 15:19)
| | Никак я не могу разобраться в этом винегрете!
Как же должно быть для нормальной работы?
Как создать скриптом правильный файл в кодировке utf-8 ? | |
|
|
|
|
|
|
|
для: Владимир55
(07.03.2010 в 15:41)
| | Когда я смотрю файл через WinHex, то в неработающем файле вижу кириллицу, а в работающем кракозябры. И это вполне согласуется с тем, как я понимал проявления различий в кодировке.
ВОМ, если он имеется в работающем файле, вполне можно удалить, и от этого его работоспособность не теряется.
Осталось только понять, как же надлежащим образом "запихнуть" в файл текст, что бы он на уровне кодов был в utf-8? | |
|
|
|
|
|
|
|
для: Владимир55
(07.03.2010 в 16:10)
| |
$text = iconv('cp1251', 'utf-8', 'Кириллический текст');
file_put_contents('10.txt', $text);
|
Оказывается, если в файл записать кириллический текст в кодировке 'utf-8', то редактор (блокнот) показывает его как кириллицу, а на уровне бинарных кодов он в кракозябрах 'utf-8'.
Теперь понятно, в чем тут фокус! | |
|
|
|
|
|
|
|
для: Владимир55
(07.03.2010 в 16:26)
| | Я к AkelPad просто привык, установил его себе как замену стандартному блокноту и его в тоталКомандере по F4 открываю , если в каком-нибудь файле сомневаюсь, да и редактировать иногда можно неплохо.
Часто может безошибочно сам определять кодировку, или можно её менять как угодно, убирать/добавлять BOM
А так в notepad++ всётаки чаще пишу, там хоть таких тонкостей с кодировками нет, многие вообще не поддерживает, но зато hex можно посмотреть, и подсветка удобнее.
//кстати даже эти два блокнота по разному записывают некоторые многобайтные кодировки.
Бывает просто в браузере принудительно кодировки переключаю.
//upd забыл предупредить :)
плагины в AkelPad есть и такие которые будет полезно включать только когда нужно, у меня включено только три
HightLight Lineboard ToolBar | |
|
|
|
|
|
|
|
для: exp
(07.03.2010 в 17:27)
| | Абсолютно бесполезное и при этом морочное дело - кодировка utf-8.
При отсутствии Аякса никогда ее применять не буду. | |
|
|
|
|
|
|
|
для: Владимир55
(08.03.2010 в 10:59)
| | это смотря для чего ещё кроме аякс.
Например попадается текст в koi8-r, с какими-нибудь рамочками полосочками и закрашиваниями , другой текст в cp866 с такими-же красивостями, третий в cp1251. четвёртый вообще в какой-нибудь ISO-8859-5,
к одной однобайтной кодировке привести не сможете не потеряв часть символов или не или не заменяя какими-нибудь &code;
Или видели как здесь на немецком языке пытались спамить ? :) в cp1251 просто было заменено на русские буквы то что в ней не оказалось. иногда вообще показывает ΩΑ и не факт что в системе пользователей вообще установлены такие шрифты и кодировки как cp1251, utf-8 есть у большего колличества | |
|
|
|
|
|
|
|
для: Владимир55
(08.03.2010 в 10:59)
| | Зря зарекаетесь.
Автомобиль удобнее велосипеда в большинстве обывательских применений, не смотря на то, что приходится учиться, налог платить, а иногда даже ремонтироваться. | |
|
|
|
|
|
|
|
для: Trianon
(08.03.2010 в 18:02)
| | М-да...
Я уже зарекался от использования базы данных.
А теперь не могу сделать без неё ни одного скрипта! | |
|
|
|
|
|
|
|
для: Владимир55
(08.03.2010 в 10:59)
| | А как же многоязычные приложения? Или китайский язык тоже будете хранить в кодировке windows-1251? | |
|
|
|