<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Демон запускает sh-скрипт с кириллицей = проблема</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/97182.html</link>
    <description>На сервере работает демон asterisk от имени одноименного пользователя. Этот демон в определенных ситуациях запускает sh-скрипт, который по телнету передаёт кириллицу на GSM-шлюз (отправляет SMS). Проблема в том, что у меня не получается переключить кодировку скрипта на utf-8, из-за этого sh-скрипт передает кракозябры. Инструкция setenv в контексте пользователя не работает (setenv: not found). Если задать локаль командой &quot;pw usermod -n asterisk -L russian&quot;, то скрипт по прежнему выполняется в латинской локали:&lt;br&gt;LANG=&lt;br&gt;LC_CTYPE=&quot;C&quot;&lt;br&gt;LC_COLLATE=&quot;C&quot;&lt;br&gt;LC_TIME=&quot;C&quot;&lt;br&gt;LC_NUMERIC=&quot;C&quot;&lt;br&gt;LC_MONETARY=&quot;C&quot;&lt;br&gt;LC_MESSAGES=&quot;C&quot;&lt;br&gt;LC_ALL=&lt;br&gt;Как решить проблему?&lt;br&gt;Запуск asterisk-а прописан в rc.conf.&lt;br&gt;Версия FreeBSD 10.3.&lt;br&gt;</description>

<item>
    <title>Демон запускает sh-скрипт с кириллицей = проблема (yurybx)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/97182.html#4</link>
    <pubDate>Fri, 20 Apr 2018 07:07:08 GMT</pubDate>
    <description>Добавил в начало скрипта строки &quot;export LANG=ru_RU.UTF-8&quot; и &quot;export MM_CHARSET=UTF-8&quot; - теперь всё работает как надо. Спасибо!&lt;br&gt;&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; 2. То, что в LC_* и LANG, меняет не кодировку (сам текст &lt;br&gt;&amp;gt; не перекодируется), а восприятие обрабатываемого текста запускаемыми в данном контексте &lt;br&gt;&amp;gt; приложениями, как закодированного в указанной кодировке.&lt;br&gt;&amp;gt; Теперь по сути: telnet изначально 7-битный, поэтому 8-й бит может банально отрезаться. &lt;br&gt;&amp;gt; Покажите отрывок из скрипта. Может, в вашем случае подойдёт nc/netcat вместо &lt;br&gt;&amp;gt; telnet?&lt;br&gt;&amp;gt; И не забывайте, что в собственно SMS используется отнюдь не UTF-8...&lt;br&gt;&amp;gt; И, да, setenv и не будет работать, так как это команда csh, &lt;br&gt;&amp;gt; а у вас sh-скрипт, совсем другой язык. Аналог setenv в Bourne-скриптах &lt;br&gt;&amp;gt; &amp;#8212; export.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Демон запускает sh-скрипт с кириллицей = проблема (PereresusNeVlezaetBuggy)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/97182.html#3</link>
    <pubDate>Fri, 20 Apr 2018 06:43:52 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; LC_CTYPE=&quot;C&quot; &lt;br&gt;&amp;gt; LC_COLLATE=&quot;C&quot; &lt;br&gt;&amp;gt; LC_TIME=&quot;C&quot; &lt;br&gt;&amp;gt; LC_NUMERIC=&quot;C&quot; &lt;br&gt;&amp;gt; LC_MONETARY=&quot;C&quot; &lt;br&gt;&amp;gt; LC_MESSAGES=&quot;C&quot; &lt;br&gt;&amp;gt; LC_ALL= &lt;br&gt;&amp;gt; Как решить проблему?&lt;br&gt;&amp;gt; Запуск asterisk-а прописан в rc.conf.&lt;br&gt;&amp;gt; Версия FreeBSD 10.3.&lt;br&gt;&lt;br&gt;Для начала, чтобы не было путаницы:&lt;br&gt;&lt;br&gt;1. &amp;#171;Кодировка скрипта&amp;#187; &amp;#8212; это кодировка его тела. С этим, как я понимаю, проблем нет.&lt;br&gt;&lt;br&gt;2. То, что в LC_* и LANG, меняет не кодировку (сам текст не перекодируется), а восприятие обрабатываемого текста запускаемыми в данном контексте приложениями, как закодированного в указанной кодировке.&lt;br&gt;&lt;br&gt;Теперь по сути: telnet изначально 7-битный, поэтому 8-й бит может банально отрезаться. Покажите отрывок из скрипта. Может, в вашем случае подойдёт nc/netcat вместо telnet?&lt;br&gt;&lt;br&gt;И не забывайте, что в собственно SMS используется отнюдь не UTF-8...&lt;br&gt;&lt;br&gt;И, да, setenv и не будет работать, так как это команда csh, а у вас sh-скрипт, совсем другой язык. Аналог setenv в Bourne-скриптах &amp;#8212; export.&lt;br&gt;</description>
</item>

<item>
    <title>Демон запускает sh-скрипт с кириллицей = проблема (PereresusNeVlezaetBuggy)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/97182.html#2</link>
    <pubDate>Fri, 20 Apr 2018 06:42:12 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt; LC_NUMERIC=&quot;C&quot; &lt;br&gt;&amp;gt;&amp;gt; LC_MONETARY=&quot;C&quot; &lt;br&gt;&amp;gt;&amp;gt; LC_MESSAGES=&quot;C&quot; &lt;br&gt;&amp;gt;&amp;gt; LC_ALL= &lt;br&gt;&amp;gt;&amp;gt; Как решить проблему?&lt;br&gt;&amp;gt;&amp;gt; Запуск asterisk-а прописан в rc.conf.&lt;br&gt;&amp;gt;&amp;gt; Версия FreeBSD 10.3.&lt;br&gt;&amp;gt; /etc/csh.cshrc &lt;br&gt;&amp;gt;         setenv LANG ru_RU.UTF-8 &lt;br&gt;&amp;gt;         setenv MM_CHARSET UTF-8 &lt;br&gt;&lt;br&gt;(не туда ответил, прошу прощения)&lt;br&gt;</description>
</item>

<item>
    <title>Демон запускает sh-скрипт с кириллицей = проблема (universite)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/97182.html#1</link>
    <pubDate>Thu, 19 Apr 2018 16:18:46 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; LC_CTYPE=&quot;C&quot; &lt;br&gt;&amp;gt; LC_COLLATE=&quot;C&quot; &lt;br&gt;&amp;gt; LC_TIME=&quot;C&quot; &lt;br&gt;&amp;gt; LC_NUMERIC=&quot;C&quot; &lt;br&gt;&amp;gt; LC_MONETARY=&quot;C&quot; &lt;br&gt;&amp;gt; LC_MESSAGES=&quot;C&quot; &lt;br&gt;&amp;gt; LC_ALL= &lt;br&gt;&amp;gt; Как решить проблему?&lt;br&gt;&amp;gt; Запуск asterisk-а прописан в rc.conf.&lt;br&gt;&amp;gt; Версия FreeBSD 10.3.&lt;br&gt;&lt;br&gt;/etc/csh.cshrc&lt;br&gt;        setenv LANG ru_RU.UTF-8&lt;br&gt;        setenv MM_CHARSET UTF-8&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
