mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-02 04:21:15 +02:00
02138357ff
produces text it is an encoding hole and if not it's incompatible with the spec, whatever the spec means (which we're not sure about anyway).
948 lines
14 KiB
Plaintext
948 lines
14 KiB
Plaintext
--
|
|
-- create user defined conversion
|
|
--
|
|
CREATE USER conversion_test_user WITH NOCREATEDB NOCREATEUSER;
|
|
SET SESSION AUTHORIZATION conversion_test_user;
|
|
CREATE CONVERSION myconv FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
|
|
--
|
|
-- cannot make same name conversion in same schema
|
|
--
|
|
CREATE CONVERSION myconv FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
|
|
ERROR: conversion "myconv" already exists
|
|
--
|
|
-- create default conversion with qualified name
|
|
--
|
|
CREATE DEFAULT CONVERSION public.mydef FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
|
|
--
|
|
-- cannot make default conversion with same shcema/for_encoding/to_encoding
|
|
--
|
|
CREATE DEFAULT CONVERSION public.mydef2 FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
|
|
ERROR: default conversion for LATIN1 to UTF8 already exists
|
|
-- test comments
|
|
COMMENT ON CONVERSION myconv_bad IS 'foo';
|
|
ERROR: conversion "myconv_bad" does not exist
|
|
COMMENT ON CONVERSION myconv IS 'bar';
|
|
COMMENT ON CONVERSION myconv IS NULL;
|
|
--
|
|
-- drop user defined conversion
|
|
--
|
|
DROP CONVERSION myconv;
|
|
DROP CONVERSION mydef;
|
|
--
|
|
-- make sure all pre-defined conversions are fine.
|
|
-- SQL_ASCII --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'SQL_ASCII', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> SQL_ASCII
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'SQL_ASCII');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- KOI8R --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'KOI8R', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> KOI8R
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'KOI8R');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- ISO-8859-5 --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'ISO-8859-5', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> ISO-8859-5
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'ISO-8859-5');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1251 --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'WIN1251', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> WIN1251
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1251');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN866 --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'WIN866', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> WIN866
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN866');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- KOI8R --> WIN1251
|
|
SELECT CONVERT('foo', 'KOI8R', 'WIN1251');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1251 --> KOI8R
|
|
SELECT CONVERT('foo', 'WIN1251', 'KOI8R');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- KOI8R --> WIN866
|
|
SELECT CONVERT('foo', 'KOI8R', 'WIN866');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN866 --> KOI8R
|
|
SELECT CONVERT('foo', 'WIN866', 'KOI8R');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN866 --> WIN1251
|
|
SELECT CONVERT('foo', 'WIN866', 'WIN1251');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1251 --> WIN866
|
|
SELECT CONVERT('foo', 'WIN1251', 'WIN866');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- ISO-8859-5 --> KOI8R
|
|
SELECT CONVERT('foo', 'ISO-8859-5', 'KOI8R');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- KOI8R --> ISO-8859-5
|
|
SELECT CONVERT('foo', 'KOI8R', 'ISO-8859-5');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- ISO-8859-5 --> WIN1251
|
|
SELECT CONVERT('foo', 'ISO-8859-5', 'WIN1251');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1251 --> ISO-8859-5
|
|
SELECT CONVERT('foo', 'WIN1251', 'ISO-8859-5');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- ISO-8859-5 --> WIN866
|
|
SELECT CONVERT('foo', 'ISO-8859-5', 'WIN866');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN866 --> ISO-8859-5
|
|
SELECT CONVERT('foo', 'WIN866', 'ISO-8859-5');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- EUC_CN --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'EUC_CN', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> EUC_CN
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_CN');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- EUC_JP --> SJIS
|
|
SELECT CONVERT('foo', 'EUC_JP', 'SJIS');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- SJIS --> EUC_JP
|
|
SELECT CONVERT('foo', 'SJIS', 'EUC_JP');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- EUC_JP --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'EUC_JP', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- SJIS --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'SJIS', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> EUC_JP
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_JP');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> SJIS
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'SJIS');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- EUC_KR --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'EUC_KR', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> EUC_KR
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_KR');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- EUC_TW --> BIG5
|
|
SELECT CONVERT('foo', 'EUC_TW', 'BIG5');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- BIG5 --> EUC_TW
|
|
SELECT CONVERT('foo', 'BIG5', 'EUC_TW');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- EUC_TW --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'EUC_TW', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- BIG5 --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'BIG5', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> EUC_TW
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_TW');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> BIG5
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'BIG5');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN2 --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'LATIN2', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> LATIN2
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN2');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1250 --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'WIN1250', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> WIN1250
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1250');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN2 --> WIN1250
|
|
SELECT CONVERT('foo', 'LATIN2', 'WIN1250');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1250 --> LATIN2
|
|
SELECT CONVERT('foo', 'WIN1250', 'LATIN2');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN1 --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'LATIN1', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> LATIN1
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN1');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN3 --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'LATIN3', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> LATIN3
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN3');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN4 --> MULE_INTERNAL
|
|
SELECT CONVERT('foo', 'LATIN4', 'MULE_INTERNAL');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- MULE_INTERNAL --> LATIN4
|
|
SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN4');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- SQL_ASCII --> UTF8
|
|
SELECT CONVERT('foo', 'SQL_ASCII', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> SQL_ASCII
|
|
SELECT CONVERT('foo', 'UTF8', 'SQL_ASCII');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- BIG5 --> UTF8
|
|
SELECT CONVERT('foo', 'BIG5', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> BIG5
|
|
SELECT CONVERT('foo', 'UTF8', 'BIG5');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> KOI8R
|
|
SELECT CONVERT('foo', 'UTF8', 'KOI8R');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- KOI8R --> UTF8
|
|
SELECT CONVERT('foo', 'KOI8R', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> WIN1251
|
|
SELECT CONVERT('foo', 'UTF8', 'WIN1251');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1251 --> UTF8
|
|
SELECT CONVERT('foo', 'WIN1251', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> WIN1252
|
|
SELECT CONVERT('foo', 'UTF8', 'WIN1252');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1252 --> UTF8
|
|
SELECT CONVERT('foo', 'WIN1252', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> WIN866
|
|
SELECT CONVERT('foo', 'UTF8', 'WIN866');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN866 --> UTF8
|
|
SELECT CONVERT('foo', 'WIN866', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- EUC_CN --> UTF8
|
|
SELECT CONVERT('foo', 'EUC_CN', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> EUC_CN
|
|
SELECT CONVERT('foo', 'UTF8', 'EUC_CN');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- EUC_JP --> UTF8
|
|
SELECT CONVERT('foo', 'EUC_JP', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> EUC_JP
|
|
SELECT CONVERT('foo', 'UTF8', 'EUC_JP');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- EUC_KR --> UTF8
|
|
SELECT CONVERT('foo', 'EUC_KR', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> EUC_KR
|
|
SELECT CONVERT('foo', 'UTF8', 'EUC_KR');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- EUC_TW --> UTF8
|
|
SELECT CONVERT('foo', 'EUC_TW', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> EUC_TW
|
|
SELECT CONVERT('foo', 'UTF8', 'EUC_TW');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- GB18030 --> UTF8
|
|
SELECT CONVERT('foo', 'GB18030', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> GB18030
|
|
SELECT CONVERT('foo', 'UTF8', 'GB18030');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- GBK --> UTF8
|
|
SELECT CONVERT('foo', 'GBK', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> GBK
|
|
SELECT CONVERT('foo', 'UTF8', 'GBK');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> LATIN2
|
|
SELECT CONVERT('foo', 'UTF8', 'LATIN2');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN2 --> UTF8
|
|
SELECT CONVERT('foo', 'LATIN2', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> LATIN3
|
|
SELECT CONVERT('foo', 'UTF8', 'LATIN3');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN3 --> UTF8
|
|
SELECT CONVERT('foo', 'LATIN3', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> LATIN4
|
|
SELECT CONVERT('foo', 'UTF8', 'LATIN4');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN4 --> UTF8
|
|
SELECT CONVERT('foo', 'LATIN4', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> LATIN5
|
|
SELECT CONVERT('foo', 'UTF8', 'LATIN5');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN5 --> UTF8
|
|
SELECT CONVERT('foo', 'LATIN5', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> LATIN6
|
|
SELECT CONVERT('foo', 'UTF8', 'LATIN6');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN6 --> UTF8
|
|
SELECT CONVERT('foo', 'LATIN6', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> LATIN7
|
|
SELECT CONVERT('foo', 'UTF8', 'LATIN7');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN7 --> UTF8
|
|
SELECT CONVERT('foo', 'LATIN7', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> LATIN8
|
|
SELECT CONVERT('foo', 'UTF8', 'LATIN8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN8 --> UTF8
|
|
SELECT CONVERT('foo', 'LATIN8', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> LATIN9
|
|
SELECT CONVERT('foo', 'UTF8', 'LATIN9');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN9 --> UTF8
|
|
SELECT CONVERT('foo', 'LATIN9', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> LATIN10
|
|
SELECT CONVERT('foo', 'UTF8', 'LATIN10');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN10 --> UTF8
|
|
SELECT CONVERT('foo', 'LATIN10', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> ISO-8859-5
|
|
SELECT CONVERT('foo', 'UTF8', 'ISO-8859-5');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- ISO-8859-5 --> UTF8
|
|
SELECT CONVERT('foo', 'ISO-8859-5', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> ISO-8859-6
|
|
SELECT CONVERT('foo', 'UTF8', 'ISO-8859-6');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- ISO-8859-6 --> UTF8
|
|
SELECT CONVERT('foo', 'ISO-8859-6', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> ISO-8859-7
|
|
SELECT CONVERT('foo', 'UTF8', 'ISO-8859-7');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- ISO-8859-7 --> UTF8
|
|
SELECT CONVERT('foo', 'ISO-8859-7', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> ISO-8859-8
|
|
SELECT CONVERT('foo', 'UTF8', 'ISO-8859-8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- ISO-8859-8 --> UTF8
|
|
SELECT CONVERT('foo', 'ISO-8859-8', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- LATIN1 --> UTF8
|
|
SELECT CONVERT('foo', 'LATIN1', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> LATIN1
|
|
SELECT CONVERT('foo', 'UTF8', 'LATIN1');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- JOHAB --> UTF8
|
|
SELECT CONVERT('foo', 'JOHAB', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> JOHAB
|
|
SELECT CONVERT('foo', 'UTF8', 'JOHAB');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- SJIS --> UTF8
|
|
SELECT CONVERT('foo', 'SJIS', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> SJIS
|
|
SELECT CONVERT('foo', 'UTF8', 'SJIS');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1258 --> UTF8
|
|
SELECT CONVERT('foo', 'WIN1258', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> WIN1258
|
|
SELECT CONVERT('foo', 'UTF8', 'WIN1258');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UHC --> UTF8
|
|
SELECT CONVERT('foo', 'UHC', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> UHC
|
|
SELECT CONVERT('foo', 'UTF8', 'UHC');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> WIN1250
|
|
SELECT CONVERT('foo', 'UTF8', 'WIN1250');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1250 --> UTF8
|
|
SELECT CONVERT('foo', 'WIN1250', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> WIN1256
|
|
SELECT CONVERT('foo', 'UTF8', 'WIN1256');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1256 --> UTF8
|
|
SELECT CONVERT('foo', 'WIN1256', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> WIN874
|
|
SELECT CONVERT('foo', 'UTF8', 'WIN874');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN874 --> UTF8
|
|
SELECT CONVERT('foo', 'WIN874', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> WIN1253
|
|
SELECT CONVERT('foo', 'UTF8', 'WIN1253');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1253 --> UTF8
|
|
SELECT CONVERT('foo', 'WIN1253', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> WIN1254
|
|
SELECT CONVERT('foo', 'UTF8', 'WIN1254');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1254 --> UTF8
|
|
SELECT CONVERT('foo', 'WIN1254', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> WIN1255
|
|
SELECT CONVERT('foo', 'UTF8', 'WIN1255');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1255 --> UTF8
|
|
SELECT CONVERT('foo', 'WIN1255', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> WIN1257
|
|
SELECT CONVERT('foo', 'UTF8', 'WIN1257');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- WIN1257 --> UTF8
|
|
SELECT CONVERT('foo', 'WIN1257', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> EUC_JIS_2004
|
|
SELECT CONVERT('foo', 'UTF8', 'EUC_JIS_2004');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- EUC_JIS_2004 --> UTF8
|
|
SELECT CONVERT('foo', 'EUC_JIS_2004', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- UTF8 --> SHIFT_JIS_2004
|
|
SELECT CONVERT('foo', 'UTF8', 'SHIFT_JIS_2004');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- SHIFT_JIS_2004 --> UTF8
|
|
SELECT CONVERT('foo', 'SHIFT_JIS_2004', 'UTF8');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- EUC_JIS_2004 --> SHIFT_JIS_2004
|
|
SELECT CONVERT('foo', 'EUC_JIS_2004', 'SHIFT_JIS_2004');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- SHIFT_JIS_2004 --> EUC_JIS_2004
|
|
SELECT CONVERT('foo', 'SHIFT_JIS_2004', 'EUC_JIS_2004');
|
|
convert
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
--
|
|
-- return to the super user
|
|
--
|
|
RESET SESSION AUTHORIZATION;
|
|
DROP USER conversion_test_user;
|