Я заканчиваю приложение в Visual C++/Windows API, и я использую MySql C Connector.Как правильно отображать символы с разных языков?
Весь код приложения использует ANSI, MySql C Connector также в ANSI.
Эта программа будет использоваться на польском и немецких компьютеры с Windows XP/Vista/7 или 8.
Я хочу correcly отображения немецких умляутов и польский символов акцента на:
- управления DialogBox (строки загружаются из языковых файлов)
- порожденных документов XHTML
- строк, извлекаемых из базы данных MySql на экране управления и в XHTML документов
Я слышал о функциях MultiByteToWideChar и Unicode (MessageBoxW и т.д.), но код приложения почти закончен, преобразовывая много работы ...
Как сделать кодировку правильно с наименьшей работы и время?
Возможно, сменить системную кодовую страницу для программы, отличной от Юникода?
Когда я пишу на MySql и получаю с моей программой все символы верны. Когда я пишу с помощью phpMyAdmin, но получение с символами программы неверно. Но я не знаю, будет ли на немецких Windows это тоже правильно (у меня только полировка Windows). В MySql есть utf8_bin. – David
@David За какое определение правильного? Я полагаю, что MySQL в значительной степени нейтрален по содержанию, по крайней мере, для полей varchar. Таким образом, все программы вернут все, что было написано. Но то, что написано, на самом деле не является символом, а точками кода - маленькими целыми значениями. Вопрос заключается в том, как программа, которая читает, интерпретирует эти значения. Если вы пишете UTF-8, а программа, которая читает, интерпретирует значения как ISO 8859-1, это не сработает. Вот почему я сказал, что это почти невозможная проблема - если у вас нет абсолютного контроля над всеми элементами в цепочке. –