Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> кодировка 
V
    Опции темы
Пантереныш
Дата 20.7.2006, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Суть проблемы такова: программка состоит из 2х независимых частей - серверной и клиентской. Серверная часть при коннекте к ней клиентской начинает обмен текстовыми строками. Соединение идет по телнету. С английским языком проходит все нормально, а вот русский... пробовал сделать так:

Код

connection.Send(Encoding.GetEncoding("Windows-1251").GetBytes("Серверная консоль" + "\r\n\r\n"));

(для примера)

Но при этом на клиенте обрезается "я" и последующий пробел. Что можно сделать в этом случае? 
PM MAIL ICQ   Вверх
mr.DUDA
Дата 20.7.2006, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Возможно, на клиенте читается только кусок. Нужно Read-ом дочитывать в буфер до тех пор, пока не вернёт 0 в результате. 


--------------------
user posted image
PM MAIL WWW   Вверх
Пантереныш
Дата 20.7.2006, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



На выходе получаю "Сервернаконсоль". 
PM MAIL ICQ   Вверх
Дрон
Дата 20.7.2006, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


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

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



Есть мысль: маленькая буква "я" имеет код 255, который часто резервируется с каким-нибудь специальным значением.
Так может это просто telnet от него колбасит? 


--------------------
Да. Именно так.
PM   Вверх
Пантереныш
Дата 20.7.2006, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Да. Забыл упомянуть об этом, сорьк. Большая "Я" проходит нормально, а вот с мелкой проблемы smile Может кто знает как это можно решить? 
PM MAIL ICQ   Вверх
Дрон
Дата 20.7.2006, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


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

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



Скорее всего никак. Хотя может и можно заэскейпить как-нибудь, но я сомневаюсь.
Зачем тебе русский там? 


--------------------
Да. Именно так.
PM   Вверх
Пантереныш
Дата 20.7.2006, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Если совсем грубо, то можно обозвать чатом с кучкой доп. функций. Просто там очень много текстовухи, которую надо читать. Да и отсылать тоже немало smile А среди юзверей много таких, кто английского совсем не знает smile 

Как вариант: использовать koi8, а на перекодировку написать самому? Хотя это не выход - боюсь очень криво и глючно получится smile 

Это сообщение отредактировал(а) Пантереныш - 20.7.2006, 15:17
PM MAIL ICQ   Вверх
Дрон
Дата 20.7.2006, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


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

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



Всё-таки можно заэскейпить smile

Поиск в гугле по telnet 0xFF дал следующий результат:
http://lib.ru/CYRILLIC/Cyrillic-HOWTO/Cyri...-russian-5.html
Цитата
Вы можете встретить проблемы при работе в кодировке cp1251 -- не передается маленькая русская буква "я" 0xff. У протокола TELNET 0xff -- это первый символ управляющей последовательности. Дабы передать собственно "я", нужно его удваивать : 0xff, 0xff.
   

Это сообщение отредактировал(а) Дрон - 20.7.2006, 15:18


--------------------
Да. Именно так.
PM   Вверх
Пантереныш
Дата 20.7.2006, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Сипасиб, дальше сам доделаю smile 
PM MAIL ICQ   Вверх
Пантереныш
Дата 26.7.2006, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Данные в ДЛЛ'ках в какой кодировке храняться? Записаны в сурсах в 1251. Голову уже сломал smile Русский обрабатывается нормально только до тех пор, пока не надо что-то найти в dll'ках. В чем хотяб примерно может быть ошыпка? Скорее всего она очевидна, но никак... smile

В двух словах: вводится запрос на русском, обрабатывается и выкидывается результат. Но есть несколько сравнений с данными в БД (на аксессе) и внутренними dll'ками. До проверки БД еще не дошел, а вот в библиотеках не ищет. На английском все нормуль работает smile

ЗЫ Если что, сорь за бред - голова уже давно спит smile 
PM MAIL ICQ   Вверх
mr.DUDA
Дата 26.7.2006, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Цитата(Пантереныш @  26.7.2006,  12:46 Найти цитируемый пост)
Данные в ДЛЛ'ках в какой кодировке храняться?

Если строки в ресурсах - то в той кодировке, которую укажешь.

Если строки в исходнике - то в юникоде. Собственно, при выводе куда-либо в поток, твой код в длл сам задаёт (или не задаёт) кодировку. 


--------------------
user posted image
PM MAIL WWW   Вверх
Пантереныш
Дата 26.7.2006, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



т.е. команду надо перекинуть в юникод, а потом уже искать в дллке? 
PM MAIL ICQ   Вверх
mr.DUDA
Дата 26.7.2006, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Ничего не понял про

Цитата(Пантереныш @  26.7.2006,  14:31 Найти цитируемый пост)
искать в дллке?

...

Работаем из .NET-приложения с .NET-сборкой ? Или какие-то другие варианты ? 


--------------------
user posted image
PM MAIL WWW   Вверх
Пантереныш
Дата 26.7.2006, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Запрос идет с левого клиента.
Лан, чую что уже торможу жутко - пойду дрыхнуть, утро вечера мудренее smile 
PM MAIL ICQ   Вверх
Пантереныш
Дата 27.7.2006, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем спасибо, проблемка решена: оказалось, что при обработке строки сплитил не совсем так как надо. Еще раз пасиб smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

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


 




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


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

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