Ad Widget

Collapse

Русские sms

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • zaab
    Junior Member
    • Oct 2009
    • 11

    #1

    Русские sms

    Понимаю что блаж......Но начальство требует....
    Суть в следующем.

    Есть моб телефон. Nokia N72 подключённый к серверу через USB порт. Устройство видится как ttyACM0 . Прверяю через gnokii смс на кирилице приходят нормальные. Если в заббиксе указать средство передачи СMC и вбить устройство /dev/ttyACM0 привязать к действию срабатывающему на тригер в теле сообщения присутсвует кирилица. Кирилица приходит в виде крокозябров..... Привязывал к действию скрипт который отправляет смс через gnokii . Крилица так же приходит не корректно. В чём может быть проблема?
  • dima_dm
    Senior Member
    • Dec 2009
    • 2697

    #2
    Может быть кодировка русского текста не та? Zabbix использует UTF-8

    Comment

    • zaab
      Junior Member
      • Oct 2009
      • 11

      #3
      В скрипте кодировка UTF8, база в UTF8, в системе локаль UTF8 по умолчанию. Так что не знаю даже куда копать.....

      Да кстати если из под юзера zabbix выполнить cat /tam/to/file | gnokii --sendsms +79998885566 то сообщения приходят нормально. Если этот скрипт запускается по возведению тригера то сообщения приходят кроказябрами...

      Comment

      • dima_dm
        Senior Member
        • Dec 2009
        • 2697

        #4
        Âûâåäèòå òåêñò ïî òðèããåðó Zabbix â ôàéë è ïðîâåðüòå êîäèðîâêó

        Comment

        • zaab
          Junior Member
          • Oct 2009
          • 11

          #5
          Originally posted by dima_dm
          âûâåäèòå òåêñò ïî òðèããåðó zabbix â ôàéë è ïðîâåðüòå êîäèðîâêó
          êàæåòñÿ äóìàëêà ìîÿ îòïàëà óæå....

          ß âàñ íå ñîâñåì ïîÿíë êàêîé òåêñò âûâåñòè ?
          ïðèìåð÷èê åñëè ìîæíî....

          Comment

          • dima_dm
            Senior Member
            • Dec 2009
            • 2697

            #6
            Ìîæíî âîñïîëüçîâàòüñÿ îäíèì èç ýòèõ ðåøåíèé

            Íî âìåñòî îòïðàâêè e-mail, îòïðàâëÿòü SMS.
            Âûâåñòè òåêñò èç ñêðèïòà (òîëüêî äëÿ îòëàäêè) âî âðåìåííûé ôàéë, ïðîàíàëèçèðîâàòü åãî êîäèðîâêó. Åñëè íóæíî, îáðàáîòàòü òåêñò è ïðèâåñòè ê íóæíîé êîäèðîâêå.
            À äàëüøå, èñïîëüçîâàòü îïòèìèçèðîâàííûé òàêèì îáðàçîì ñêðèïò äëÿ îòïðàâêè ðóññêèõ SMS.

            Comment

            • mschedrin
              Senior Member
              • Jun 2009
              • 179

              #7
              Ó ìåíÿ åñòü ñêðèïò, êîòîðûé ñëóæèò äëÿ îòïðàâêè ñìñ. Ïîëó÷àåò äàííûå â utf-8 ñ ðóññêèì ÿçûêîì ïðîáëåì íåò.

              Comment

              • zaab
                Junior Member
                • Oct 2009
                • 11

                #8
                Хм. поделись , если не сложно) Наваял скриптик который выводит сообщения заббикса в файл. Проверил кодировку - UTF-8. Добавил в скрипт
                Code:
                LANG="ru_RU.UTF-8"
                ситуация та же..
                Last edited by zaab; 02-02-2010, 10:36.

                Comment

                • Hober
                  Senior Member
                  • Dec 2008
                  • 109

                  #9
                  Originally posted by zaab
                  хм. поделись , если не сложно) наваял скриптик который выводит сообщения заббикса в файл. проверил кодировку - utf-8. добавил в скрипт
                  Code:
                  lang="ru_ru.utf-8"
                  ситуация та же..
                  так а в файле в utf-8 все нормально отображается?
                  Zabbix Servers - 1
                  Zabbix Proxy - 145
                  Monitored Servers: ~ 1400

                  Comment

                  • mschedrin
                    Senior Member
                    • Jun 2009
                    • 179

                    #10
                    Originally posted by zaab
                    Õì. ïîäåëèñü , åñëè íå ñëîæíî) Íàâàÿë ñêðèïòèê êîòîðûé âûâîäèò ñîîáùåíèÿ çàááèêñà â ôàéë. Ïðîâåðèë êîäèðîâêó - UTF-8. Äîáàâèë â ñêðèïò
                    Code:
                    LANG="ru_RU.UTF-8"
                    ñèòóàöèÿ òà æå..
                    Ñêðèïò íà php, âñ¸ ÷òî îí äåëàåò - ïàðñèò ïàðàìåòðû êîìàíäíîé ñòðîêè îò çàááèêñà è êëàäåò â mysql äàííûå, êîòîðûå ïîòîì óæå îòïðàâëþòñÿ ïî sms. Åñëè âñ¸ åùå èíòåðåñíî - êîíå÷íî âûëîæó

                    Comment

                    • zaab
                      Junior Member
                      • Oct 2009
                      • 11

                      #11
                      Originally posted by Hober
                      так а в файле в utf-8 все нормально отображается?
                      извиняюсь...

                      Файл на выходе не UTF8 .....

                      Я даже не знаю какая кодировка...

                      кароче я так думаю что это баг заббикса....

                      распишу что накопал.

                      По возведению тригера запускается скрипт следующего содержания

                      Code:
                      #!/bin/sh
                      zabbixsubject=$2
                      echo "$zabbixsubject" > /tmp/notify.eml
                      в теме сообщения слово тест

                      На выходе получаю 4 знака вопроса.

                      Иду далее

                      Смотрю хексом этот файл

                      3F 3F 3F 3F 0A

                      Явно не UTF8 )))

                      Создаю файл в кодировке UTF8 с содержимым тест, смотрю хексом

                      EF BB BF D1 82 D0 B5 D1 81 D1 82

                      Разница на лицо)

                      Чуть позже попробую пустить от заббикса скрипт содержимым

                      Code:
                      #!/bin/sh
                      LANG="ru_RU.UTF-8"
                      zabbixsubject=$2
                      
                      echo "Triger: $zabbixsubject" >> /tmp/notify.eml
                      
                      cat /tmp/notify.eml | egrep 'OK$' | grep -q 'OK$'
                      if [ $? -eq 0 ]; then
                      echo тест | gnokii --sendsms +7ХХХХХХХХХХ
                      else
                      echo тестд | gnokii --sendsms +7ХХХХХХХХХХ
                      fi
                      в теме сообщения в заббиксе набил {TRIGGER.NAME}: {STATUS} думаю всем понятно как скрипт будет работать. Интересно будет взглянуть как в таком случае будут приходить сообщения.

                      Comment

                      • zaab
                        Junior Member
                        • Oct 2009
                        • 11

                        #12
                        Originally posted by mschedrin
                        ñêðèïò íà php, âñ¸ ÷òî îí äåëàåò - ïàðñèò ïàðàìåòðû êîìàíäíîé ñòðîêè îò çàááèêñà è êëàäåò â mysql äàííûå, êîòîðûå ïîòîì óæå îòïðàâëþòñÿ ïî sms. åñëè âñ¸ åùå èíòåðåñíî - êîíå÷íî âûëîæó
                        äà äàâàé âûêëàäûâàé åñëè ñ âûøå îïèñàíûì ó ìåíÿ íè÷åãî íå ïîëó÷èòñÿ òî ïîïðîáóþ èñïîëüçîâàòü òâîé)

                        Comment

                        • mschedrin
                          Senior Member
                          • Jun 2009
                          • 179

                          #13
                          Code:
                          #!/usr/local/bin/php
                          <?php
                          //Àðãóìåíòû êîìàíäíîé ñòðîêè: òåëåôîí, ÷òî-òî, òåêñò ñîîáùåíèÿ.
                          
                          //$log = fopen('/tmp/loop-in.txt','w');
                          //fputs($log, $argv[3]);
                          
                          if (!$db=mysql_connect("localhost","login","password")) {echo "dberr"; exit(1);}
                          if (!$dbb=mysql_select_db("database")){echo mysql_error(); mysql_close(); echo "dberr"; exit(1);}
                          mysql_query('SET NAMES utf8');
                          mysql_query('SET CHARACTER SET utf8');
                          
                          $tel = $argv[1];
                          $text = $argv[3];
                          $sql = "INSERT INTO `sms` values('0','".$tel."','".$text."','','0')" ;
                          mysql_query($sql);
                          mysql_close();
                          
                          //fclose($log);
                          
                          ?>

                          Comment

                          Working...