смена кодировки при записи входящего смс в файл

Обсуждение программы nhsms - отправка и приём СМС
Закрыто
friker
Сообщения: 18
Зарегистрирован: 20 июн 2018, 22:50

смена кодировки при записи входящего смс в файл

Сообщение friker »

не могу разобраться
лог файл пишется читабельно.
входящие смс записываются в файл sms.txt - не читабельно

не могу понять как сменить кодировку. вот что в файле - Hello �ਢ��

вот настройки

[Connection]
SearchOrder=com
ModemConnection=selected
ModemId=
ComConnection=selected
COM=10
Attempts=3
Pause=5000
BaudRates=921600
ConnectReset=0
TECharSet=

[Parameters]
Runmode=Continuous
Out=DETAILS
OutFilename=in-sms.log
;CommandLineSmsFile="sent.sms",unicode
SmsFile=*.sms
SmsFileOnComplete="append","sent.log",unicode
License=C21PK-J5L6Z-Y8PNR-SC7XE-GVED6
TimeStamp="yyyy-MM-dd HH:mm:ss"
CommandLineSmsFile="",ansi
;unicode
;UCS-2LE


[Message]
SMSC=79222909090
Phone=
StatusReportRequest=1
Alert=0
ValidityPeriod=5m
SmsSendDelay=5000
Esc=\
CorrectPhonePrefix=8 9xx xxxxxxx
CommandLine0=scripts\save_to_text\sms-submit.cmd

[USSD Default Settings]
DCS=15
Coding=auto
command0=process_ussd.cmd


[Read]
ReadMaxIntervalMs=30000
MessageStorage=
ReadingTextMessages=auto
CommandLineSmsFile="",ansi
CommandLine0=scripts\save_to_text\sms-deliver.cmd

[Version]
Configuration=v3.1.0.43

[Network]
UseMMTS=0
UsePhoneNumber=none
ForceNetworkSearch=none
ForceNetworkSearchCommand=AT+COPS=0
SendFromHomeNetworkOnly=1

[Sending Messages]
TimeLimited=No
TimeDays=Mon,Tue,Wed,Thu,Fri
TimeFrom=10:00
TimeTo=19:00
ManualLimited=No

[Database]
Enable=0
ConnectionString=
TablePrefix=
nhutils
Сообщения: 595
Зарегистрирован: 09 дек 2009, 18:08
Контактная информация:

Re: смена кодировки при записи входящего смс в файл

Сообщение nhutils »

В этом конфиг файле сохранение делается следующей командой, которая по умолчанию работает в кодировке OEM (866)^

Код: Выделить всё

scripts\save_to_text\sms-submit.cmd
Чтобы сделать сохранение в Unicode, можно заменить команду сохранения на следующую, которая запускает CMD файл в режиме Unicode:

Код: Выделить всё

%systemroot%\system32\cmd.exe /u /c scripts\save_to_text\sms-submit.cmd
Кроме того, можно изменить bat файл, чтобы он делал перекодировку текстового файла - этот вариант подходит, если каждое смс пишется в отдельный файл. Пример здесь.
friker
Сообщения: 18
Зарегистрирован: 20 июн 2018, 22:50

Re: смена кодировки при записи входящего смс в файл

Сообщение friker »

Я воспользовался вашей утилитой nhrt.exe
прописав в файле батнике nhrt.exe -cp:oem,utf8 -o:d "in_sms.txt"

но думаю данный метод не совсем правильный т.к. другой софт настроен постоянно сканировать существования даного файла, как только он появиться он его прочитает и удалит.

можете написать строку с параметрами чтобы сохранение было в оем в nhsms.ini ?

ЗЫ: я вспомнил что ваш софт работает с mysql и в данный момент изучаю как установит свой сервер...
nhutils
Сообщения: 595
Зарегистрирован: 09 дек 2009, 18:08
Контактная информация:

Re: смена кодировки при записи входящего смс в файл

Сообщение nhutils »

friker писал(а): 19 июл 2018, 23:46можете написать строку с параметрами чтобы сохранение было в оем в nhsms.ini ?
Такая строка даёт сохранение в OEM (866), т.к. bat файл запускается в среде с однобайтовыми строками:

Код: Выделить всё

scripts\save_to_text\sms-submit.cmd
Я чаще использую сохранение в Unicode, причём в другой файл sms-submit-u.txt:

Код: Выделить всё

%systemroot%\system32\cmd.exe /u /c scripts\save_to_text\sms-submit.cmd sms-submit-u.txt
friker писал(а): 19 июл 2018, 23:46ЗЫ: я вспомнил что ваш софт работает с mysql и в данный момент изучаю как установит свой сервер...
была проверена работа nhsms с Access и SQL Server, с MySql не пробовал, см. база данных
Закрыто