powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Различное отображение китайских иероглифов.
6 сообщений из 6, страница 1 из 1
Различное отображение китайских иероглифов.
    #40087295
kaktus1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую!
Есть программа, с возможность переключения языка интерфейса, в том числе на китайский.
Механизм - строки в INI файле, при запуске приложения стрики читаются в dict и заменяются в интерфейсе по мере открытия форм.
Часть кода. Delphi 10.2
Код: pascal
1.
2.
3.
4.
dict: TDictionary <string, string>
...
Applic: array of string = ['APP_LANGUAGE', 'APP_TITLE', 'APP_CAPTION', 'APP_SERVER', 'APP_CLIENT', 'MODEL_NAME'];
for str in Applic do dict.AddOrSetValue('applic-' + str, UTF8ToString (INI.ReadString ('applic', str, '')) );


Возникла проблема - на компах дома все отображается корректно, в Китае некоторые символы некорректно (знаки ?, знак бубны и другие).
Пример различного отображения в прикрепленном файле.
Причем в INI файле как дома, так и в Китае при открытии блокнотом - одинаково корректно. Подскажите в чем загвоздка и что надо исправить?
...
Рейтинг: 0 / 0
Различное отображение китайских иероглифов.
    #40087313
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaktus1983Подскажите в чем загвоздка и что надо исправить?

Загвоздка в этом: "UTF8ToString (INI.ReadString ('applic', str, ''))". Своим приведением к UTF-8 ты портишь кодировку. Надо сразу указать, что INI-файл в UTF-8 и оставить перекодирование компоненту.
...
Рейтинг: 0 / 0
Различное отображение китайских иероглифов.
    #40087386
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема также может быть в сочетании установленных шрифтов и способов вывода (механизм подстановки отсутствующих символов).
...
Рейтинг: 0 / 0
Различное отображение китайских иероглифов.
    #40087413
kaktus1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
спасибо, попробую использовать TMemIniFile вместо TIniFile и открывать с параметром TEncoding.UTF8
Тогда вопрос: правильно использовать dict: TDictionary <string, UTF8String> или можно просто string?
Насколько я понимал string в 10.2 и так юникодный и в UTF8...
...
Рейтинг: 0 / 0
Различное отображение китайских иероглифов.
    #40087414
kaktus1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
white_nigger,
Тоже подумал насчет шрифтов, сверил (точнее сверили китайские коллеги, из версия Win чисто китайская) - все необходимые совпадают.
...
Рейтинг: 0 / 0
Различное отображение китайских иероглифов.
    #40087417
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaktus1983
Насколько я понимал string в 10.2 и так юникодный и в UTF8...

UTF16
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Различное отображение китайских иероглифов.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]