Если данные, отправленные в браузер, становятся искалеченными (moji-bake), вы получите символы мусора. Кроме того, если вы укажете неправильный набор символов в своих заголовках META, ваш браузер отобразит страницу неправильно, в результате чего moji-bake снова, иногда в случайных местах на странице.
При обработке наборов CJK символов, вы должны быть уверены, чтобы использовать кодировку UTF8 на протяжении всего срока службы Вашей программы (для хранения данных, поиска, манипулирования данными в вашем коде, отображая в browsser и т.д ...)
Что такое UTF8? UTF8 обрабатывает двоичные потоки данных, а не строки. Это означает, что битовые комбинации могут иметь переменную длину. Символы ASCII имеют фиксированную длину 8 бит, представляющую 1 байт, однако символы UTF8 могут состоять из 6 бит, 8 бит, 12 бит и т. Д. Таким образом, UTF8 подвержен тому, что японцы называют «mojibake».
Как кодер, от базы данных к кодовой базе в браузер, вы должны попробовать и использовать UTF8 полностью. Для электронной почты вы можете использовать UTF8, но, вероятно, вы обнаружите, что большинство почтовых серверов и клиентов все еще старые и используют мишмаш разных наборов символов (например, ISO9022X).
Database Settings Если вы являетесь пользователем MySQL, то убедитесь, что вы должны убедиться, что все соединения с использованием DB UTF8, и что все таблицы/поля использовать UTF8. По умолчанию mysql использует латинские (шведские) наборы символов. Эти странные шорты любят свое чувство юмора!
Проверка ваш Codebase В моем опыте редакторов типа Notepad ++, Notepad2, UltraEdit, е, и т.д. ... все проблемы поддержки UTF8. Они в основном работают, но поскольку их разработчики не используют сами языки CJK, они не совершенствуются. Такие проблемы, как выключение спецификации (байт), искаженные вкладки, плохое преобразование набора символов и т. Д. ... все существующие проблемы.
Я настоятельно рекомендую использовать проверенный редактор UTF8, такой как Maruo. Это сделано японской компанией, но есть английская версия (и пробная версия) на http://www.hidemaru.interlink.or.jp/software/
Наконец, вам может потребоваться конвертировать исходные файлы в UTF8. Особенно, если сама кодовая база содержит строки языка CJK, содержащиеся в ней.
Манипулирование строками Любая функция строки должна быть многобайтовой. Заметьте, я не сказал двухбайтовый. UTF8 не является двубайтным, но многобайтовым, в зависимости от общего количества бит, используемых для представления символа. В PHP вам нужно просто вызвать функции строки MB. Ruby и другие языки имеют более прозрачную поддержку, но вам нужно проверить документы на свой вкус сервера приложений!
META Тэги Посмотрите google.co.jp или yahoo.co.jp для своих заголовков META. Это сайты, которые хорошо знают, как это сделать. В основном включают в себя следующие метатег doucment < ГОЛОВА >
< META HTTP-эквив = "Content-Type" содержание = "текст/html; кодировка = UTF-8" >
Это, как правило, можно смешивать Английский атрибуты типа HTML с указанным выше символом тоже. Таким образом, добавление тега META выше, похоже, работает в документе HTML, который имеет:
< html xmlns = "http://www.w3.org/1999/xhtml" xml: lang = "en" lang = "en ">
Email Это совершенно другой может червей. UTF8 работает много, но многие более старые японские клиенты используют ISO2022X больше. Здесь этого не стоит.
Отладочные UTF8 Проблемы После того, как у вас есть надежный редактор UTF8 как Маие, вы можете создавать статические страницы и решить ваши проблемы.
Надежда, что помогает
Также убедитесь, что приложение (консоль, редактор, веб-страницы) вы смотрите символы с правильно настроен, чтобы показать ожидаемый набор символов. – 2009-05-28 07:02:34