forum.bitel.ru http://forum.bitel.ru/ |
|
"Кракозябры" в реестре счетов http://forum.bitel.ru/viewtopic.php?f=14&t=9660 |
Страница 1 из 1 |
Автор: | ok-2004 [ 04 сен 2014, 16:40 ] |
Заголовок сообщения: | "Кракозябры" в реестре счетов |
Добрый день! При выгрузке реестра счетов в файл csv адрес пишется совершенно непонятной кодировке. Открыть невозможно нигде ( ни в Вин не в Лин, не в LO не в МО...не в OO): Код: ;;00000016;пїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ;;31.08.2014;-3950.00;2500.00;150.00;2650.00; ;;00000015;пїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ;;31.08.2014;-1000.00;1000.00;1000.00; ;;00000014;пїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ;;31.08.2014;2000.00;1000.00;1000.00; ;;00000013;пїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ;;31.08.2014;-20000.00;2000.00;2000.00; Хотя Код: file reestr.csv reestr.csv: UTF-8 Unicode text Как можно это побороть ? Код: locale LANG=ru_RU.UTF-8 LANGUAGE= LC_CTYPE="ru_RU.UTF-8" LC_NUMERIC="ru_RU.UTF-8" LC_TIME="ru_RU.UTF-8" LC_COLLATE="ru_RU.UTF-8" LC_MONETARY="ru_RU.UTF-8" LC_MESSAGES="ru_RU.UTF-8" LC_PAPER="ru_RU.UTF-8" LC_NAME="ru_RU.UTF-8" LC_ADDRESS="ru_RU.UTF-8" LC_TELEPHONE="ru_RU.UTF-8" LC_MEASUREMENT="ru_RU.UTF-8" LC_IDENTIFICATION="ru_RU.UTF-8" LC_ALL= Информация о версии: Клиент: вер. 6.0 сборка 1318 от 12.05.2014 20:43:15 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45 Сервер: вер. 6.0 сборка 1736 от 12.05.2014 20:43:24 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45 bill вер. 6.0 сборка 343 от 12.03.2014 19:11:40 card вер. 6.0 сборка 227 от 06.05.2014 18:58:40 dialup вер. 6.0 сборка 404 от 24.04.2014 19:38:56 drweb вер. 6.0 сборка 98 от 10.04.2014 19:28:24 email вер. 6.0 сборка 187 от 05.02.2014 15:53:45 inet вер. 6.0 сборка 1383 от 12.05.2014 20:43:52 ipn вер. 6.0 сборка 276 от 10.04.2014 19:28:30 mps вер. 6.0 сборка 215 от 15.04.2014 18:38:43 npay вер. 6.0 сборка 225 от 23.04.2014 14:16:23 payonline вер. 6.0 сборка 82 от 13.05.2014 15:58:41 reports вер. 6.0 сборка 212 от 14.04.2014 16:39:52 ru.bitel.bgbilling.plugins.crm вер. 6.0 сборка 216 от 23.04.2014 16:50:27 ru.bitel.bgbilling.plugins.dispatch вер. 6.0 сборка 111 от 13.05.2014 15:58:42 ru.bitel.bgbilling.plugins.documents вер. 6.0 сборка 199 от 02.04.2014 17:18:42 ru.bitel.bgbilling.plugins.helpdesk вер. 6.0 сборка 209 от 12.05.2014 13:07:11 trayinfo вер. 6.0 сборка 176 от 05.02.2014 15:55:51 voiceip вер. 6.0 сборка 232 от 12.05.2014 16:41:36 wm вер. 6.0 сборка 191 от 05.02.2014 15:56:42 yamoney вер. 6.0 сборка 72 от 07.05.2014 14:45:13 preempt_bill_reestr.xsl - дефолтный.. ОС: Код: cat /etc/issue
Debian GNU/Linux 7 \n \l uname -ar Linux bgb 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1+deb7u1 x86_64 GNU/Linux |
Автор: | zavndw [ 04 сен 2014, 17:00 ] |
Заголовок сообщения: | Re: "Кракозябры" в реестре счетов |
а выгружается в винды или linux? |
Автор: | dimOn [ 04 сен 2014, 17:09 ] |
Заголовок сообщения: | Re: "Кракозябры" в реестре счетов |
всегда заполняйте LC_ALL Цитата: пїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ видно же, что заведомо уже побито, конечно не откроется1. как именно откуда сохраняете 2. клиент под какой ос? |
Автор: | ok-2004 [ 04 сен 2014, 17:29 ] |
Заголовок сообщения: | Re: "Кракозябры" в реестре счетов |
реестр выгружался с 2-х клиентов : c win8.1 и с xubuntu14.04 В обоих случаях профиль яиц - один и тот же... сделал так : root@bgb:~# locale LANG=ru_RU.UTF-8 LANGUAGE= LC_CTYPE="ru_RU.UTF-8" LC_NUMERIC="ru_RU.UTF-8" LC_TIME="ru_RU.UTF-8" LC_COLLATE="ru_RU.UTF-8" LC_MONETARY="ru_RU.UTF-8" LC_MESSAGES="ru_RU.UTF-8" LC_PAPER="ru_RU.UTF-8" LC_NAME="ru_RU.UTF-8" LC_ADDRESS="ru_RU.UTF-8" LC_TELEPHONE="ru_RU.UTF-8" LC_MEASUREMENT="ru_RU.UTF-8" LC_IDENTIFICATION="ru_RU.UTF-8" LC_ALL=ru_RU.UTF-8 рестартнул сервер, один хрен... |
Автор: | ok-2004 [ 04 сен 2014, 17:39 ] |
Заголовок сообщения: | Re: "Кракозябры" в реестре счетов |
В preempt_bill_reestr.xsl подправил тока id параметров договоров: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xalan="http://xml.apache.org/xalan" xmlns:st="bitel.billing.server.bill.bean.SummaToString" xmlns:counter="bitel.billing.server.util.exslt.Counter" xmlns:server_utils="ru.bitel.bgbilling.server.util.ServerUtils" version="1.0"> <xalan:component prefix="st" functions="summaToString"> <xalan:script lang="javaclass" src="xalan://bitel.billing.server.bill.bean.SummaToString"/> </xalan:component> <xalan:component prefix="counter" functions="add set get"> <xalan:script lang="javaclass" src="xalan://bitel.billing.server.util.exslt.Counter"/> </xalan:component> <xalan:component prefix="server_utils" functions="replace"> <xalan:script lang="javaclass" src="xalan://ru.bitel.bgbilling.server.util.ServerUtils"/> </xalan:component> <xsl:output encoding="UTF-8" method='text' indent='yes' /> <xsl:template match="data"> <xsl:apply-templates select="bill" /> </xsl:template> <xsl:variable name="fio" select="/data/bill/contract_params/parameter[@pid='1']/@value"/> <xsl:variable name="address" select="/data/bill/contract_params/parameter[@pid='15']/@value"/> <xsl:variable name="phone" select="/data/bill/contract_params/parameter[@pid='21']/@value"/> <xsl:variable name="dolg" select="format-number(/data/bill/@saldo_prev, '0.00')"/> <xsl:variable name="itogo" select="format-number(/data/bill/@total_sum,'0.00')"/> <xsl:template match="bill"> <xsl:value-of select="$fio"/>;<xsl:value-of select="$address"/>;<xsl:value-of select="@bill_number"/>;<xsl:value-of select="@type_title"/>;<xsl:value-of select="server_utils:replace($phone,';',',')"/>;<xsl:value-of select="@date"/>;<xsl:value-of select="$dolg"/>;<xsl:call-template name="positions"/> <xsl:value-of select="$itogo"/>; </xsl:template> <xsl:template name="positions"> <xsl:for-each select="pos"> <xsl:value-of select="@summ"/>;</xsl:for-each> </xsl:template> </xsl:stylesheet> |
Автор: | ok-2004 [ 04 сен 2014, 17:50 ] |
Заголовок сообщения: | Re: "Кракозябры" в реестре счетов |
locale -a: C C.UTF-8 en_US.utf8 POSIX ru_RU.utf8 добавил в server.sh export LC_ALL=ru_RU.UTF-8 не помогает, блин, может в COMMON_PARAMS чо добавить надо ? |
Автор: | dimOn [ 04 сен 2014, 17:56 ] |
Заголовок сообщения: | Re: "Кракозябры" в реестре счетов |
можете в HD написать? |
Автор: | ok-2004 [ 04 сен 2014, 18:09 ] |
Заголовок сообщения: | Re: "Кракозябры" в реестре счетов |
да, придётся... |
Автор: | dimOn [ 09 сен 2014, 13:37 ] |
Заголовок сообщения: | Re: "Кракозябры" в реестре счетов |
исправлено |
Автор: | ok-2004 [ 10 сен 2014, 12:04 ] |
Заголовок сообщения: | Re: "Кракозябры" в реестре счетов |
Да, реестр выгрузился, во всяком случае на win8.1 русские быквы увиделись, на юбуне попрежнему кракозябры, но это я связываю с проблемами юбунты. Самое смешное, что если выгрузить реестр прямо на сервер БЖБ, у которого : locale -a: C C.UTF-8 en_US.utf8 POSIX ru_RU.utf8 и текущая локаль для рута: locale: LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= то на нём : cat /tmp/preempt.csv ;;00000002;Счет за интернет;;31.08.2014;-4000.00;2000.00;2000.00; (т.е. русские буквы видны...) Ну вобщем бухгалтер доволен, а это главное ( у него win... ) P.S. есть сомнения насчёт корректности строки в скрипте запуска сервера: #!/bin/sh export LC_ALL=ru_RU.UTF-8 ..... Возможно ru_RU.UTF-8 надо как-то вставлять в COMMON_PARAMS= или в PARAMS=, но я в етом как гриться не "копенгаген"... Вообщем даже с английской локалью на сервере реестр выгружается правильно, и даже название месяца в счетах и счёт-фактурах пишется по русски а не по английски... |
Автор: | dimOn [ 10 сен 2014, 13:17 ] |
Заголовок сообщения: | Re: "Кракозябры" в реестре счетов |
по идее клиент вообще никакого значения не имеет. туда приходит строка внутри обычной data-xml полностью сформированная на сервере, на клиенте ничего не делается вообще, только пишется в файл и всё. выгрузка в файл в 6.0 делается в cp1251 (если не настроен другой bgbilling.transfer.encoding но это вряд ли), начиная с 6.1 делается жёстко в utf-8. |
Автор: | dimOn [ 10 сен 2014, 13:20 ] |
Заголовок сообщения: | Re: "Кракозябры" в реестре счетов |
покажите файл который вы не можете открыть в убунте. он полностью побитый, или может вы просто кодировку там не ту выбираете (файл в cp1251 надо открывать)? |
Автор: | ok-2004 [ 10 сен 2014, 14:02 ] |
Заголовок сообщения: | Re: "Кракозябры" в реестре счетов |
да всё правильно, в кодировке ansi-1251 открылся в libreoffice calc хотя: file preempt.csv пишет что он в ISO-8859 text поэтому походу такая свистопляска... cat его видет вот так : ;;00000002;���� �� ��������;;31.08.2014;-4000.00;2000.00;2000.00; |
Автор: | dimOn [ 10 сен 2014, 14:45 ] |
Заголовок сообщения: | Re: "Кракозябры" в реестре счетов |
да не смотрите вы на этот file, он никак не может определить в какой именно кодировке текстовый файл, т.к. очевидно это невозможно в общем случае. в 6.0 файл выгружается в cp1251, а линуксы дефолтно думают что utf-8, потому если явно не указывать, то понять кодировку они никак не смогут Цитата: ;;00000002;���� �� ��������;;31.08.2014;-4000.00;2000.00;2000.00; ну выглядит что всё нормально (как однобайтовый текст в попытке представить его как utf-8), если у вас локаль в системе utf-8 так что считаем, что проблема решена вот в 6.1 когда обновитесь в винде наверно с utf-8 будут вопросы в свою очередь точно такие же. потому что винда наверно 1251 будет по дефолту ожидать. |
Автор: | JIoIIIaDka [ 03 фев 2017, 14:51 ] |
Заголовок сообщения: | Re: "Кракозябры" в реестре счетов |
-Dfile.encoding=UTF-8 ? |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |