私はバイナリデータとしてxmlファイルを含むテーブルを持っています。 xmlには、 "¥r¥n"文字が "¥015¥012"としてbyteaに含まれています。列の型をbyteaからvarcharに変更する必要があります。Postgres:byteaからvarcharへの変換後 ' r'は残る
私が実行します。
ALTER TABLE my_table ALTER COLUMN xml_data TYPE VARCHAR;
UPDATE my_table SET xml_data = convert_from(xml_data::bytea, 'UTF8');
そして、それは、Linuxで動作します。しかし、Windowsでは '\ 015'を「\ r」(2文字)に変換します。だから私は、結果にそのような何かを持っている:
<field>...</field>\r
<field>...</field>
はたぶんUTFにバイナリデータを変換するための適切な方法はありますか?
変換しないと、実際のデータが入力から削除されます。 '\ r'はUTF-8でも完全に有効です。 – pozs