2009-08-21 3 views
1

Приложение базы данных браузера, которое намерено отображать данные на английском языке и собирать данные на английском языке, должно иметь базу данных UTF-8?English сайт на японском языке Операционная система

Есть ли проблемы при работе с сайтом на японском языке? Если пользователь вводит только на английском языке, нам нужно проявлять особую осторожность? Если пользователь на японском языке, то как система может обнаружить и выбросить ошибку?

Веб-сайт будет разработан в .Net 3.5.

EDIT --------------------------------------------- ------------------------------------------

Я не хотят захватить японский язык или любой другой язык. Сайт будет полностью английский, и пользователь должен вводить информацию также на английском языке. Отображение английских символов в японской ОС также не является проблемой. Проблема в том, что если пользователь в японской ОС отображает японские символы в текстовом поле, то как я могу определить это и выдать ошибку пользователю? Во-вторых, сможет ли он ввести английские символы в текстовое поле?

+0

В заголовке этого вопроса отсутствует «J» – epotter

ответ

2

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

Любые входящие данные должны обрабатываться и перекодироваться. с формами, вы можете поставить следующий тег:

<input type="hidden" name="_charset_" value="" /> 

Все браузеры должны населяют это с кодировкой пользователь использует, вы можете использовать эту функцию для декодирования/повторного кодирования входного сигнала.

Кроме того, если вы не читали его, прочитал пост Джоэла на Unicode: http://www.joelonsoftware.com/articles/Unicode.html

1

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

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

1

Всегда легче создавать поддержку многобайтовой кодировки в приложении с самого начала, а не модифицировать ее позже.

В дополнение к необходимости пересмотреть весь код, вы получите ошибки, конвертирующие вашу существующую базу данных в Юникод, и вы можете обнаружить, что нет хорошего способа определить, какой набор символов задавал данный фрагмент данных в первую очередь кодируется.

4

Японские шрифты и методы ввода имеют «две» версии «английские» символы в Unicode - нормальную ширину и «широкие/моноширинные» (которые полезны при печати сверху вниз или слева направо). Будьте осторожны, как вы пытаетесь «отфильтровать» неанглийские символы - если вы поднимите ошибку, например, № 2 ниже ваших пользователей, будет очень смутно!

1) правильно закодированы

2) правильно кодированных

Вторая строка НЕ ​​другой шрифт или «кодирование» - они являются дополнительная фиксированной шириной копией нашего алфавита, которые выравниваются красиво в пределах блоков хирагана/katakana/kanji (японский язык).

Я бы определенно рассмотрел кодировку UTF8 и NCHAR/NVARCHAR в базе данных.

Смежные вопросы