Работа с иностранными языками - PullRequest
0 голосов
/ 01 июня 2010

Моя БД должна содержать строки, содержащие символы иностранных языков. Например, пользователь вводит строку в форму, форма отправляется и строка добавляется в БД. Строка будет отображаться на веб-странице. Я хотел бы использовать UTF-8, так как он сможет обрабатывать все необходимые языки.

В настоящее время я считаю, что моя БД установлена ​​на 'latin1', но веб-страницы в любом случае могут отображать правильные символы. Проблемы возникают при попытке установить текстовые области для хранения иностранных символов и при просмотре БД через командную строку.

Как я могу эффективно реализовать это? Мой план состоял в том, чтобы заморозить весь сайт таким образом, чтобы кодировка БД была UTF-8, а кодировка веб-страницы - UTF-8. Может ли кто-нибудь дать мне минимальные команды о том, как это сделать, чтобы я не заканчивал тем, что дублировал вещи (наличие команд "UTF-8" везде, когда они мне действительно нужны) и затруднял контроль? "

edit: Использование MySQL, PHP и JavaScript / HTML

1 Ответ

0 голосов
/ 04 мая 2012

Это был бы путь (UTF-8) в БД. Вот что вы хотите посмотреть:

  1. Поддерживает ли ваш браузер символы UTF-8 (убедитесь, что шрифт, который вы используете, содержит символы для всех соответствующих кодовых страниц, которые вам нужно поддерживать) и правильно ли установлен тег meta charset?

    (в HTML4)

    <? Xml version = "1.0" encoding = "UTF-8"?> (В XHTML)

  2. Отправляете ли вы заголовок ContentType? Если это так, убедитесь, что он соответствует тому, что вы определили в своем мета или теге версии XML.

  3. Что касается вашей командной строки, убедитесь, что используемый вами терминал и кодировка вашей оболочки также совпадают. (проверьте локаль на вашем сервере, предполагая, что это * NIX, вы можете сделать это, набрав «locale»), при этом вы измените настройку локали:

    export LANG = "en_US.UTF-8"

    Если вы используете Windows, проверьте локаль системы. http://windows.microsoft.com/en-us/windows-vista/Change-the-system-locale. Если вы используете PuTTY для входа на сервер, вам нужно убедиться, что вы установили его в режим Unicode для поддержки UTF-8.

  4. Другая вещь, которую вы захотите посмотреть в mysql, - это настройка параметров сортировки таблиц. Убедитесь, что это сопоставление имеет смысл для того, что вы хотите сделать, или индексы будут иметь неожиданное поведение. (см. http://dev.mysql.com/doc/refman/5.0/en/charset-mysql.html)

Скорее всего, вы захотите настроить заголовочный файл для вашего веб-сайта, который будет содержать информацию о кодировке набора символов и включать ее в каждое представление. Что касается БД, очевидно, что ваши поля text и varchar должны поддерживать правильную кодировку, не существует простого способа сделать это, не изменяя каждую таблицу, чтобы убедиться, что ее индивидуальный набор символов правильный, а его сопоставление правильное (если таблица созданный в кодировке вы должны преобразовать его).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...