Работа с иностранными языками

0

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

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

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

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

  • 2
    Какая база данных?
  • 3
    На ваш вопрос будет гораздо проще ответить, если вы скажете, какую базу данных вы используете, а также, возможно, на какой основе / языке написан сайт.
Показать ещё 1 комментарий
Теги:
utf-8

1 ответ

0

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

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

    < meta http-equiv = "Content-Type" content = "text/html; charset = utf-8" > (в HTML4)

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

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

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

    export LANG = "en_US.UTF-8"

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню