![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Druidishe |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 26.10.2009 Репутация: нет Всего: нет |
Ситуация следующая. читаю из файла (utf8). получаю нужную строку и преобразую ее Utf8toansi(stroka) получаю нечто подобное Fabiański, мне нужно данный результат получить в следующем виде Fabianski
как мне это сделать??? Delphi 2010... |
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 16 Всего: 54 |
В D2010 строки уже имеют формат UTF Utf8toansi не нужен.
-------------------- Кольцов Виктор Владимирович |
|||
|
||||
Druidishe |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 26.10.2009 Репутация: нет Всего: нет |
если просто считать строку получаются нечитаемые символы... щас не могу продемонстрировать то что получается. но в программе они не отображаются как хотелось бы.
т.е. изначально из кракозябры с помощью преобразования я получаю допустим такой символ ń, а мне хотелось бы получить n. |
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 16 Всего: 54 |
для начала
Абсолютный Минимум, который Каждый Разработчик Программного Обеспечения Обязательно Должен Знать о Unicode и Наборах Символов Ка проверяли что в файле все правильно лежит? -------------------- Кольцов Виктор Владимирович |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Вы как-то странно вопрос задаёте.
Если вопрос в преобразовании ń в n, то причём тут чтение из файла (в этом случае, как я понимаю, в файле записано именно ń)? Если вопрос в неправильном чтении из файла (в файле записано n, но читается ń), то причём тут преобразование? Вы поясните вашу ситуацию. Добавлено через 5 минут и 3 секунды P.S. Если вопрос в конвертации ń в n, то я бы глянул в сторону FoldString - конвертируем строку в композитную форму - когда акценты следуют за буквами (два символа на ń: n + combining '), а затем удаляем акценты из строки (тип определяем через GetStringTypeW). -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
Druidishe |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 26.10.2009 Репутация: нет Всего: нет |
в файле записано ń но в UTF8 если просто отобразить строку с такими символами получаем кракозябры, при преобразовании в ansi получаем нормальное отображение = "ń" но с символами из польского алфавита (такой результат не нужен). Я хочу узнать можно ли как то эти строки быстро преобразовать в английское написание или же придется перебором заменять символы.
|
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Что это значит? В Польше вроде Windows-1250 используется. Т.е. юникодный ń (#324/#$0144), который был загружен из UTF-8 файла ($C584), будет спроецирован в ANSI-символ #241/#$F1, который и есть ровно ń ("F1 = U+0144 : LATIN SMALL LETTER N WITH ACUTE"). Можно теперь пояснить, что имелось в виду под "с символами из польского алфавита"? Или вам тупо ń не нужен - вообще ни в каком виде? Я просто никак догнать не могу, причём тут UTF-8 файл. Это сообщение отредактировал(а) CodeMonkey - 9.8.2011, 05:50 -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |