Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> UTF8toAnsi работает не для всех строк, перекодировка 
:(
    Опции темы
quarz
Дата 23.10.2008, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 7.1.2005

Репутация: нет
Всего: 3



Получаю код страницы Яндекса(post-запрос поисковику) через API WinInet. Страница возвращается мне в UTF-8. 
НО для одних страниц функция UTF8toAnsi срабатывает, а для других - нет, возвращает пустую строку.
Полученный код от яндекса я сохраняю в UTF8String. Значит проблема в этой строке, может в конце каким-то образом не стоит #0 (но тогда компилятор бы ругнулся на Out of Memory), или #0 стоит еще и в середине...других версий у меня пока нет.
Тогда записал в файлы 2 html страницы, с одной из которых UTF8toAnsi сработала нормально, а с другой - нет. Сравнения этих файлов ничего не дало. После этого я залез в System.pas, перекодировка в итоге сводится к функции
Код

function Utf8ToUnicode(Dest: PWideChar; MaxDestChars: Cardinal; Source: PChar; SourceBytes: Cardinal): Cardinal;

Но пока я так и не понял в чем косяк. Главный вопрос: что UTF8toAnsi находит во входной строке, что отказывается ее преобразовывать?



PM MAIL   Вверх
quarz
Дата 23.10.2008, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 7.1.2005

Репутация: нет
Всего: 3



Да, еще на форуме в подобных темах проскакивало что UTF8toAnsi может не работать при наличии каких-то левых символов во входной строке. Что это за символы?
PM MAIL   Вверх
Seeker
Дата 13.11.2008, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 23.11.2006

Репутация: 1
Всего: 1



Недавно тож билса с utf-8. Пытался конвертнуть страничку полученную по http в ansi. UTF8toAnsi не работало нивкакую. Выручил этот форум. Нашол я тут две функции UTF8ToStrSmart и UTF8ToStr. Все стало работать на ура. Попробуй поиском поискать прямо по названию, если не выйдет выложу.
PM MAIL   Вверх
Romikgy
Дата 13.11.2008, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146





--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Seeker
Дата 14.11.2008, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 23.11.2006

Репутация: 1
Всего: 1



Буквально сегодня глючок небольшой в функции UTF8ToStrSmart обнаружился. Там переменная i объявлена типом word и длинные документы просто обрезались. Нужно ее integer-ом заделать =). 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1183 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.