Имя: Пароль:
IT
 
Клиент-Серверная версия "Invalid byte sequence for encoding utf8"
0 vapilogov
 
14.06.13
18:09
Доброго всем времени суток!
Такая вот беда.
Была у нас файл-серверная 1с.
Купили клиент-серверную, как раз 8.3 вышла, базы перегнал в postgres выгрузкой конфигурации и данных из файл-серверной, созданием пустой базы и залитием туда cf и dt в конфигураторе. Бухи работают и под виндой и под линуксом, postgres работает бодренько, что и как с ним делать тоже потихоньку становится понятно, но при работе в одной из баз у бухов периодически вылетает 1с-ка с сообщением

Ошибка СУБД:
ERROR: invalid byte sequence for encoding "UTF8": 0x98

На месте последних цифр могут быть и другие: 0x83, 0xb3 и так далее
При восстановлении базы из дампа проскакивают те же сообщения, но база восстанавливается.

Версия 1с сервера и клиентов - 8.3.3.641 64 бит
Версия PostgreSQL - 9.1.2-1.1C (с сайта http://users.v8.1c.ru/) 64 бит
ОС - Debian 64 бит

Вывод locales

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=

Вывод psql -l

                                  List of databases
   Name     |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges  
-------------+----------+----------+-------------+-------------+-----------------------
buh_gk_ug   | postgres | UTF8     | ru_RU.UTF-8 | ru_RU.UTF-8 |
buh_ip      | postgres | UTF8     | ru_RU.UTF-8 | ru_RU.UTF-8 |
buh_prochie | postgres | UTF8     | ru_RU.UTF-8 | ru_RU.UTF-8 |
buh_test    | postgres | UTF8     | ru_RU.UTF-8 | ru_RU.UTF-8 |
postgres    | postgres | UTF8     | ru_RU.UTF-8 | ru_RU.UTF-8 |
template0   | postgres | UTF8     | ru_RU.UTF-8 | ru_RU.UTF-8 | =c/postgres          +
            |          |          |             |             | postgres=CTc/postgres
template1   | postgres | UTF8     | ru_RU.UTF-8 | ru_RU.UTF-8 | =c/postgres          +
            |          |          |             |             | postgres=CTc/postgres
test_base_1 | postgres | UTF8     | ru_RU.UTF-8 | ru_RU.UTF-8 |
zik_gk_ug   | postgres | UTF8     | ru_RU.UTF-8 | ru_RU.UTF-8 |
zik_prochie | postgres | UTF8     | ru_RU.UTF-8 | ru_RU.UTF-8 |


Пробовал рецепт c iconv -f UTF-8 -t UTF-8 - не помогает
md5sum у исходного и получившегося файлов даже одинаковые

С client_encoding игрался. Пробовал в выходной выставлять и в cp1251 и  utf8 и смотреть на результат. Та же беда

Работать с sql не умею, к сожалению, поэтому если посоветуете запросы какие-нибудь делать, если не сложно, и ссылку на документацию хорошую киньте с ними связанную.
Очень не хочется пробовать что-нибудь другое, как-то postgre уже полюбился :)

Заранее всех благодарю за помощь!
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.