Многоязычное кодирование приложений - PullRequest
0 голосов
/ 22 сентября 2011

Я работаю над приложением, использующим инфраструктуру CakePHP, и в прошлом я сталкивался с несколькими случаями кодирования.

Чтобы избежать этих проблем в моем приложении, я начал проводить некоторые исследования. Но я все еще немного озадачен тем, как и почему.

Мое приложение должно поддерживать все языки, даже такие языки, как китайский. Большая часть данных будет храниться в базе данных MySQL, и здесь начинается путаница. Что я должен использовать в качестве сопоставления?

Исходя из того, что я прочитал за последние несколько дней, я пришел к выводу, что лучшим выбором для сопоставления будет utf8_unicode_ci. Это правильно?

Теперь на PHP, что бы я задал как кодировку? UTF-8? Я должен быть полностью уверен, что ни один персонаж не появится так, как должен. Содержимое будет отправлено через формы, поэтому выходные данные должны совпадать с входными данными.

Я надеюсь, что кто-нибудь может дать мне ответ на мои вопросы и помочь прояснить его мне, заранее спасибо.

Ответы [ 2 ]

1 голос
/ 22 сентября 2011

Вам нужна кодировка UTF-8 для хранения ваших данных.Но что касается сортировки, он используется для сортировки строк.К сожалению, не существует универсального сопоставления, и такое универсальное сопоставление не может существовать, потому что сопоставления противоречивы.

Чтобы подчеркнуть пример, в чешском языке «ch» идет после «h», в отличие от большинства других латиниц.скриптовые языки.

0 голосов
/ 22 сентября 2011

Да, utf8_unicode_ci - это разумный выбор, если вы заранее не знаете язык.Что касается PHP, я просто сошлюсь на некоторые ответы, которые я написал в прошлом:

Как наилучшим образом настроить PHP для обработки веб-сайта UTF-8
Хорватские диакритические знакив MySQL db (utf-8)
Правильно ли я поддерживаю UTF-8 в моих приложениях PHP?

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

...