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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Indy отпрвка строк в Unicode 
:(
    Опции темы
klyaksa
Дата 3.9.2010, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Нужно отправлять строки по сети... Программа есть, работает, но на Дельфи 2006. Переделываю по 2009/2010.
Различие нашел вот в чем, было типа
Str:String;
IdTCPClient.IOHandler.WriteLn(Str);
Str := AContext.Connection.IOHandler.ReadLn;
станет типа
IdTCPClient.IOHandler.WriteLn(Str, enUTF8);
Str := AContext.Connection.IOHandler.ReadLn(enUTF8);
НО! Как я понимаю нужно еще в ручную перевести из String в enUTF8, а потом обратно? Автоматически оно не перекодируется? Как?

Ошибка при работе в том, что при наличии русского текста  в строке получаю в конце #$D#$A, при англ. все нормально.

Это сообщение отредактировал(а) klyaksa - 3.9.2010, 15:54
PM MAIL   Вверх
xkor
Дата 3.9.2010, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



klyaksa, а серверная то часть в какой кодировке текст принимает и отправляет?
Цитата(klyaksa @  3.9.2010,  15:41 Найти цитируемый пост)
НО! Как я понимаю нужно еще в ручную перевести из String в enUTF8, а потом обратно? Автоматически оно не перекодируется? Как?

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

ЗЫ если серверная часть и для нового и для старого проекта одинаковая и в старом проекте вы в enUTF8 не переводили, то и тут надо в CP1251 а не enUTF8 переводить...
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
klyaksa
Дата 3.9.2010, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



С логикой все более-менее (надеюсь более) нормально... 
#$D#$A появляется когда в тексте есть русские буквы, при анг, иероглифах  все нормально...
#$D#$A - как я понимаю это #13#10 которые добавляются к строке при передаче... Вот почему они в данном случае остаются?

Пока поставил костыль
function IdReadLn(IdIOHandler: TIdIOHandler): String;
begin
  Result := Trim(IdIOHandler.ReadLn(enUTF8));
end;

Но хочу разобраться в проблеме...

ЗЫ все части проекта переделаны...

PM MAIL   Вверх
Akella
Дата 5.9.2010, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



PM MAIL   Вверх
klyaksa
Дата 6.9.2010, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



В свежей версии костыль не нужен... Вопрос снят.
PM MAIL   Вверх
Akella
Дата 7.9.2010, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



klyaksa, у нас принято в током случае отмечать вопрос, как решенный, а не снимать его.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

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

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

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

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

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


 




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


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

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