Отображение китайских символов на форме из файла INI

Мой плагин читает текст заголовка элемента управления из файла INI (ANSI в кодировке UTF-8) для отображения нескольких языков. Ключевым моментом является то, что это плагин, у меня нет контроля и возможности изменить этот формат файла INI или тип файла.

Они в настоящее время читаются в моем плагине с TINIFile.ReadString и хранится как string, Я могу изменить это (тип данных, метод чтения и т. Д.) По мере необходимости.

Основное приложение читает из своих собственных файлов языка приложений, которые являются UCS-2 Little Endian, закодированными как файл TXT. Они хорошо отображаются при смене языка, даже если ОС Windows поддерживается на английском языке (другими словами, не требуется вносить изменения в локаль ОС для того, чтобы приложение переключало языки отображения).

Форма моего плагина не может отображать азиатские символы (китайский, японский, корейский и т. Д.). Английский язык в порядке.

Закройте форму плагина при попытке отобразить китайские иероглифы

Я пробовал различные шрифты, используя различные комбинации AnsiString, Stringи т. д. Что мне не хватает, чтобы иметь возможность отображать азиатские символы в форме? Я не нашел аналогичного вопроса с тем, что я пытаюсь сделать, конкретно с тем, как мой языковой текст читается в плагине.

1 ответ

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

На Delphi 2010 есть похожий вопрос : как преобразовать PAnsiChar в кодировке UTF8 в UnicodeString? это объясняет, как сделать преобразование. Возможно, вам придется извлечь содержимое в RawByteString, чтобы избежать неявных преобразований.

Другие вопросы по тегам