Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование в *nix (http://forum.oszone.net/forumdisplay.php?f=35)
-   -   Проблема при пересылке текста через сокеты из win в nix. (http://forum.oszone.net/showthread.php?t=93673)

lytdybr 07-11-2007 17:18 674330

Проблема при пересылке текста через сокеты из 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

ruslandh 07-11-2007 21:34 674465

Отображается - это вопрос десятый - тут много факторов от текущей локали до установленных шрифтов..
Первый вопрос - что принимается. Можно в отладке сбросить в файл и потом анализировать.

lytdybr 07-11-2007 22:08 674479

Цитата:

Цитата ruslandh
Отображается - это вопрос десятый - тут много факторов от текущей локали до установленных шрифтов..
Первый вопрос - что принимается. Можно в отладке сбросить в файл и потом анализировать. »

Собственно так и было сделано. iconv делал над файлом - с помощью скрипта конвертировал из всех кодировок во все - и ничего, никакого результата.

ruslandh 07-11-2007 22:35 674493

Если знаешь что передавалось, то можно подобрать руками.

lytdybr 07-11-2007 23:04 674511

Цитата:

Цитата ruslandh
Если знаешь что передавалось, то можно подобрать руками. »

Не совсем понял. То есть посмотреть, что было в поврежденном тексте и исправить руками? Хотелось бы этого избежать.
Вообще я тут подумал - вариантов у меня два: посмотреть, что будет если сменить локаль на серверной системе или переписать клиента (ибо писал его не я, а нагло спер из аналогичной программы для винды).

ruslandh 07-11-2007 23:07 674512

Зачем исправлять руками - руками проанализировать в какой кодировке приходит.

lytdybr 07-11-2007 23:30 674524

Цитата:

Цитата ruslandh
Зачем исправлять руками - руками проанализировать в какой кодировке приходит. »

По логике вещей - в cp1251. Не подскажешь, куда копать?
Есть, конечно, предположение, что я делаю что-то не так на серверной системе. Завтра на работе попробую написать русские буквы телнетом, отпишусь дополнительно.

ruslandh 07-11-2007 23:35 674525

Просто аккуратно проверить весь путь от приёма (уточнить кодировку) до установленной локали и шрифтов.

lytdybr 07-11-2007 23:42 674530

Цитата:

Цитата ruslandh
Просто аккуратно проверить весь путь от приёма (уточнить кодировку) до установленной локали и шрифтов. »

ОК, понял. Завтра посмотрю, отпишусь.


Время: 12:16.

Время: 12:16.
© OSzone.net 2001-