powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Конвертация кодировки на лету win-1251 --> UTF в XML-файле
2 сообщений из 2, страница 1 из 1
Конвертация кодировки на лету win-1251 --> UTF в XML-файле
    #38967068
Youra Polishuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

У меня есть XML-файл в кодировке win-1251, который я загружаю в такую таблицу:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
create sequence seq_xdoc;
create table xdoc
(
  id integer not null default nextval('seq_xdoc'::regclass),
  xmldoc xml,
  primary key (id)
);



XML-файл такой:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<?xml version="1.0" encoding="windows-1251" standalone="yes"?>
<!-- информация о сотруднике -->
<employee>
  <fio>
    <first_name>Иванов</first_name>
    <last_name>Иван</last_name>
    <second_name>Иванович</second_name>
  </fio>
  <post>доцент</post>
  <work_address>
    <postal-code>000000</postal-code>
    <city>Город</city>
    <street>ул. Советская</street>
    <house_number>00</house_number>
    <email>xxx@xxx.xx.xx<;/email>
    <telephone code="0-0000">00-00-00</telephone>
  </work_address>
</employee>



Я вставляю его в поле таблицы через pgAdmin III. Использую postgresql-9.3.6-1-windows.

Мне нужно делать такие запросы:
Код: plsql
1.
2.
select xpath('//first_name/text()',xmldoc) from xdoc;
select xpath('/employee/fio/first_name/text()',xmldoc) from xdoc;



У меня выдается ошибка:
Код: plaintext
1.
2.
3.
4.
5.
ОШИБКА:  could not parse XML document
DETAIL:  input conversion failed due to input error, bytes 0x98 0xD0 0xA1 0x3C
input conversion failed due to input error, bytes 0x98 0xD0 0xA1 0x3C
encoder error
line 9: Premature end of data in tag post line 9
  <post>доцент кафедры РњРћР

Как я понял проблема в кодировке XML-документа (win-1251).
Как можно выполнить конвертацию непосредственно в запросе?
Чтобы не конвертировать XML-документ?

Заранее спасибо.
...
Рейтинг: 0 / 0
Конвертация кодировки на лету win-1251 --> UTF в XML-файле
    #38967574
Фотография RUS 21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Youra Polishuk,

прямой ответ на ваш вопрос convert_from, convert_to. Но может дело не в этом?
А не подскажете что у вас дает
Код: sql
1.
SELECT current_setting('client_encoding'),current_setting('server_encoding')
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Конвертация кодировки на лету win-1251 --> UTF в XML-файле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]