| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Проблема с кодировкой текста. |
| Автор: Druidishe 8.8.2011, 07:38 |
| Ситуация следующая. читаю из файла (utf8). получаю нужную строку и преобразую ее Utf8toansi(stroka) получаю нечто подобное Fabiański, мне нужно данный результат получить в следующем виде Fabianski как мне это сделать??? Delphi 2010... |
| Автор: Frees 8.8.2011, 07:41 |
| В D2010 строки уже имеют формат UTF Utf8toansi не нужен. |
| Автор: Druidishe 8.8.2011, 07:45 |
| если просто считать строку получаются нечитаемые символы... щас не могу продемонстрировать то что получается. но в программе они не отображаются как хотелось бы. т.е. изначально из кракозябры с помощью преобразования я получаю допустим такой символ ń, а мне хотелось бы получить n. |
| Автор: Frees 8.8.2011, 09:10 |
| для начала http://local.joelonsoftware.com/wiki/Абсолютный_Минимум,_который_Каждый_Разработчик_Программного_Обеспечения_Обязательно_Должен_Знать_о_Unicode_и_Наборах_Символов Ка проверяли что в файле все правильно лежит? |
| Автор: CodeMonkey 8.8.2011, 18:35 |
| Вы как-то странно вопрос задаёте. Если вопрос в преобразовании ń в n, то причём тут чтение из файла (в этом случае, как я понимаю, в файле записано именно ń)? Если вопрос в неправильном чтении из файла (в файле записано n, но читается ń), то причём тут преобразование? Вы поясните вашу ситуацию. Добавлено через 5 минут и 3 секунды P.S. Если вопрос в конвертации ń в n, то я бы глянул в сторону FoldString - конвертируем строку в композитную форму - когда акценты следуют за буквами (два символа на ń: n + combining '), а затем удаляем акценты из строки (тип определяем через GetStringTypeW). |
| Автор: Druidishe 9.8.2011, 05:20 |
| в файле записано ń но в UTF8 если просто отобразить строку с такими символами получаем кракозябры, при преобразовании в ansi получаем нормальное отображение = "ń" но с символами из польского алфавита (такой результат не нужен). Я хочу узнать можно ли как то эти строки быстро преобразовать в английское написание или же придется перебором заменять символы. |