![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| IL3 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.3.2007 Репутация: нет Всего: нет |
Собственно функция recv(), нормально принимает текст, только русские буквы там выглядят примерно так:
Расскажите пожалуйста как с этим бороться? |
|||
|
||||
| Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: нет Всего: 18 |
Значит не нормально принимает. Сервер тобой написан? Показывай код отправки и приема.
Это сообщение отредактировал(а) Greeen - 13.4.2007, 06:57 -------------------- Подпись больше не нужна |
|||
|
||||
| IL3 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.3.2007 Репутация: нет Всего: нет |
Сервер написан не мной. Это Apache. Код приема:
Почему так происходит с русскими буквами? |
|||
|
||||
| IL3 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.3.2007 Репутация: нет Всего: нет |
Ух ты, странные вещи творятся! Far не показывает русские буквы, а Блокнот вполне. Кто нибуль объясните мне что это все значит???
Это сообщение отредактировал(а) IL3 - 13.4.2007, 17:34 |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 13 Всего: 98 |
это значит что в Far'е кодировку переключить нужно...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| AndreyK |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 15.3.2007 Репутация: нет Всего: нет |
это юникод...его можно в ASCII переделать:
wchar_t utext[1000]; //юникод char text[1000]; //обычный текст ascii MultiByteToWideChar(1251,NULL,text,-1,utext,1000); //1251 - кодировка WIN-1251 (RUS) Это сообщение отредактировал(а) AndreyK - 13.4.2007, 17:39 |
|||
|
||||
| IL3 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.3.2007 Репутация: нет Всего: нет |
Дело в том, что переключение кодировки в Far'е с DOS на Win по клавише F8 не помогает.
Или я как-то не так переключаю? А в программе эти символы будут обрабатываться нормально? |
|||
|
||||
| AndreyK |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 15.3.2007 Репутация: нет Всего: нет |
Чтоб напечатать юникод надо использовать не
printf("%s", buf); а wprintf(L"%s",(wchar_t *) buf); |
|||
|
||||
| IL3 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.3.2007 Репутация: нет Всего: нет |
Мда, таким образом русские буквы вообще игнорируются...
Добавлено через 11 минут и 46 секунд Так вот, у меня без Unicode все нормально выводит, только Far не читает. Меня интерисует, будут ли эти буквы обрабатываться в моей программе? Если я, скажем, занесу весь текст в массив и захочу достать из него все русские буквы? Это сообщение отредактировал(а) IL3 - 13.4.2007, 18:08 |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
||||
|
||||
| AndreyK |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 15.3.2007 Репутация: нет Всего: нет |
почему русские буквы не изображаются?
Наверное кодировка какая ни будь не та ... точно не знаю как у потока вывода кодировку менять... Я обычно перевожу всё в ascii (там как раз можно указать правильную кодировку), а потом уже анализирую или изображаю где-то... |
|||
|
||||
| IL3 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.3.2007 Репутация: нет Всего: нет |
AndreyK, а как все перевести в ASCII?
|
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
используй функцию CharToOem.
|
|||
|
||||
| AndreyK |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 15.3.2007 Репутация: нет Всего: нет |
Я в верхнем посте это написал, вот ещё раз: wchar_t utext[1000]; //юникод char text[1000]; //обычный текст ascii MultiByteToWideChar(1251,NULL,text,-1,utext,1000); //1251 - кодировка WIN-1251 (RUS) |
|||
|
||||
| IL3 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.3.2007 Репутация: нет Всего: нет |
586 и AndreyK, так какую же функцию мне лучше использовать и в чем их отличия? И что такое OEM?
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |