![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() написал чат на делфи2009.. использовал idUDP.
клиент отправляет мисаги: Код:
Проблема в том что когда печатаешь на русском, русские символы кодируются вопросиками, а англиские норм. Выходит типа: nick:go ????? ??? Где оши6ка? Как правильно кодировать? ![]() прошу помочь.) чат прикрепил. Последний раз редактировалось Admin, 13.04.2010 в 22:47. |
#2
|
|||
|
|||
![]() Дельфи-то поддерживает.
А вот Indy, похоже, нет. Попробуй без юникода (т.е. принудительно поставь тип AnsiString). Или "заворачивай" byte-array строки в Base64. |
#3
|
||||||
|
||||||
![]() ansistring не помог.
гдето на форумах увидел мисагу типа Код:
но у Сэнда нету такого параметра как Tencoding... Но я упрямый и методом про6 и оши6ок выяснил что idUDPClient.send отправляет текст непонятно какой кодировкой ( по идее должен 6ыть юникод..) и не понятно как. По этому отсылаемый текст я сначало конвертировал в байты ( bytesof()) а потом отослал его через idUDPClient.SentBuffer() и вуа-ля все канает .) код клиента Код:
код сервера Код:
но если кто знает как это все о6ойти и сделать проще, или как использовать TEncoding, прось6а отписать .)) Последний раз редактировалось beavi5, 14.04.2010 в 16:10. |
#4
|
|||
|
|||
![]() ............. прось6а админа удалить данную месагу(#4). опера глюканула.
Последний раз редактировалось beavi5, 14.04.2010 в 15:59. |
#5
|
||||
|
||||
![]() lmikle правильно тебе сказал, используй кодировку Base64. А лучше передавай заместо строк массивы байт, как в твоем последнем случае.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |