Проблема при пересылке текста через сокеты из win в nix.
Имеется демон, который висит в памяти, принимает данные (информация о железе компьютеров) и записывает их в БД. Также есть клиентская программа (для windows), которая собирает конфигурацию конкретного компьютера и отправляет серверу.
Проблема в том, что кириллица не отображается вообще. Попытки сделать iconv на принимаемые данные ни к чему не приводят: либо кракозябрами отображается все, либо выается ошибка illegal input sequence. Принятый текст: [General] UserName=���������� HostName=TARZAN IPAddresses=192.168.13.157 MACAddresses=00-80-48-14-9E-B4 54-45-20-52-41-53 WindowsName=Windows 2000 Professional WindowsSP=SP4 [HW0] Class=Processor Name=Intel Pentium 4 class 1817 [HW1] Class=Memory Name=256 Mb [HW2] Class=BIOS Name=AT/AT COMPATIBLE Version 1.00 08/20/02 [HW3] Class=Monitor Name=Plug and Play ���� [HW4] Class=Display Name=NVIDIA GeForce2 MX/MX 400, 32Mb [HW5] Class=Keyboard Name=����������� ���������� PS/2 PC/AT (101/102 ����� [HW6] Class=Mouse Name=���� Microsoft PS/2 [HW7] Class=FloppyDisk Name=�������� ������ ���� [HW8] Class=CDROM Name=SONY DVD-ROM DDU1611 [HW9] Class=CDROM Name=TEAC CD-W552E [HW10] Class=DiskDrive Name=ST340016A (Serial: 3HS6VZJA) [HW11] Class=Net Name=Realtek RTL8139/810x Family Fast Ethernet NIC [HW12] Class=SoundCard Name=Avance AC97 Audio [HW13] Class=MEDIA Name=Avance AC'97 Audio [HW14] Class=MEDIA Name=���������� �������� ������� Microsoft Kernel GS [HW15] Class=MEDIA Name=�����. ���������� DirectMusic Microsoft (WDM) [HW16] Class=MEDIA Name=������������� ����� ���� ����� [HW17] Class=MEDIA Name=������ ����� �� [HW18] Class=MEDIA Name=������� ������������� ����� Microsoft (WINMM WDM) [HW19] Class=LocalPrinter Name="Microsoft Document Imaging Writer Port:" : Microsoft Office Document Image Writer Driver [Drive0] Drive=A Type=Removable [Drive1] Drive=C Type=Fixed Size=9434361856 Free=222650368 FileSystem=NTFS [Drive2] Drive=D Type=Fixed Size=30558388224 Free=22914531328 FileSystem=FAT32 [Drive3] Drive=E Type=CD ROM [Drive4] Drive=F Type=CD ROM [Processor] Name=Intel Pentium 4 class Speed=1817 Count=1 |
Отображается - это вопрос десятый - тут много факторов от текущей локали до установленных шрифтов..
Первый вопрос - что принимается. Можно в отладке сбросить в файл и потом анализировать. |
Цитата:
|
Если знаешь что передавалось, то можно подобрать руками.
|
Цитата:
Вообще я тут подумал - вариантов у меня два: посмотреть, что будет если сменить локаль на серверной системе или переписать клиента (ибо писал его не я, а нагло спер из аналогичной программы для винды). |
Зачем исправлять руками - руками проанализировать в какой кодировке приходит.
|
Цитата:
Есть, конечно, предположение, что я делаю что-то не так на серверной системе. Завтра на работе попробую написать русские буквы телнетом, отпишусь дополнительно. |
Просто аккуратно проверить весь путь от приёма (уточнить кодировку) до установленной локали и шрифтов.
|
Цитата:
|
Время: 12:16. |
Время: 12:16.
© OSzone.net 2001-