Вставка японского текста в кодировке Shift-JIS в приложение UTF-8
У меня есть вопрос, связанный с кодировкой японского текста.
Допустим, у меня есть система, которая включает в себя jvm и базу данных. Он передает страницы через сервер приложений пользователям-клиентам в веб-браузере Internet Explorer. JVM и база данных полностью используют UTF-8. Существует несколько текстовых областей, некоторые из которых, но не все, используют tinymce.
Я обеспокоен ситуацией, когда японский пользователь вставляет некоторый текст, который не закодирован в UTF-8. Это может вызвать проблемы? Если пользователь вставляет текст, закодированный в S-JIS, можно ли ожидать его работы? Ранние тесты не вызвали никаких проблем, однако я не знаю языка и обеспокоен тем, что могут существовать особые случаи.
1 ответ
На основании http://msdn.microsoft.com/en-us/library/windows/desktop/ff729168%28v=vs.85%29.aspx:
Unicode и не-Unicode текст имеют типы буфера обмена CF_UNICODE_TEXT
а также CF_TEXT
и операционная система прозрачно конвертирует между ними в зависимости от того, какой тип данных требуется целевому приложению.
Если вы беспокоитесь о японских пользователях, но думаете, что можете проверить проблему, потому что вы не говорите по-японски, вы ошибаетесь.
Прежде всего, вы можете установить для всей операционной системы японские региональные настройки, которые установят кодировку не-Юникод в Shift-JIS для всей системы.
Во-вторых, вы можете запустить одно приложение с японскими региональными настройками, используя AppLocale.
В-третьих, вы можете протестировать любую другую кодировку, отличную от Unicode, например Windows-1250/1251/1252, поскольку характер преобразования практически идентичен.