Английский сайт на японском языке Операционная система - PullRequest
1 голос
/ 21 августа 2009

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

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

Сайт будет разработан в .Net 3.5.

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

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

Ответы [ 4 ]

4 голосов
/ 21 августа 2009

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

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

2) correctly encoded

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

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

2 голосов
/ 21 августа 2009

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

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

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

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

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

1 голос
/ 21 августа 2009

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

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

1 голос
/ 21 августа 2009

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

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

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