summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorTatsuo Ishii2002-08-14 02:45:10 +0000
committerTatsuo Ishii2002-08-14 02:45:10 +0000
commit969e0246ede898741dfd2495daa6f72a23aa3e18 (patch)
treed2fbb75cdacdc8e441a2a74a4b53238fc2b32af9 /src/test
parentd3bd1a00bc4e825ee95f9d4454935baaba65a07f (diff)
Add Cyrillic and other encodings for encoding conversion.
Patches submitted by Kaori Inaba (i-kaori@sra.co.jp).
Diffstat (limited to 'src/test')
-rw-r--r--src/test/regress/expected/conversion.out922
-rw-r--r--src/test/regress/sql/conversion.sql394
2 files changed, 1058 insertions, 258 deletions
diff --git a/src/test/regress/expected/conversion.out b/src/test/regress/expected/conversion.out
index f1f496464b1..dbe76e09746 100644
--- a/src/test/regress/expected/conversion.out
+++ b/src/test/regress/expected/conversion.out
@@ -25,190 +25,684 @@ DROP CONVERSION myconv;
DROP CONVERSION mydef;
--
-- make sure all pre-defined conversions are fine.
--- UNICODE --> SQL_ASCII
-SELECT CONVERT('foo' USING utf8_to_ascii);
+-- SQL_ASCII --> MULE_INTERNAL
+SELECT CONVERT('foo' USING ascii_to_mic);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'UNICODE', 'SQL_ASCII');
+SELECT CONVERT('foo', 'SQL_ASCII', 'MULE_INTERNAL');
convert
---------
foo
(1 row)
--- SQL_ASCII --> UNICODE
-SELECT CONVERT('foo' USING ascii_to_utf8);
+-- MULE_INTERNAL --> SQL_ASCII
+SELECT CONVERT('foo' USING mic_to_ascii);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'SQL_ASCII', 'UNICODE');
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'SQL_ASCII');
convert
---------
foo
(1 row)
--- UNICODE --> LATIN1
-SELECT CONVERT('foo' USING utf8_to_iso8859_1);
+-- KOI8R --> MULE_INTERNAL
+SELECT CONVERT('foo' USING koi8r_to_mic);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'UNICODE', 'LATIN1');
+SELECT CONVERT('foo', 'KOI8R', 'MULE_INTERNAL');
convert
---------
foo
(1 row)
--- LATIN1 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_1_to_utf8);
+-- MULE_INTERNAL --> KOI8R
+SELECT CONVERT('foo' USING mic_to_koi8r);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'LATIN1', 'UNICODE');
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'KOI8R');
convert
---------
foo
(1 row)
--- EUC_JP --> UNICODE
-SELECT CONVERT('foo' USING euc_jp_to_utf8);
+-- ISO-8859-5 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING iso_8859_5_to_mic);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'EUC_JP', 'UNICODE');
+SELECT CONVERT('foo', 'ISO-8859-5', 'MULE_INTERNAL');
convert
---------
foo
(1 row)
--- UNICODE --> EUC_JP
-SELECT CONVERT('foo' USING utf8_to_euc_jp);
+-- MULE_INTERNAL --> ISO-8859-5
+SELECT CONVERT('foo' USING mic_to_iso_8859_5);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'UNICODE', 'EUC_JP');
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'ISO-8859-5');
convert
---------
foo
(1 row)
--- EUC_KR --> UNICODE
-SELECT CONVERT('foo' USING euc_kr_to_utf8);
+-- WIN1251 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING win1251_to_mic);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'EUC_KR', 'UNICODE');
+SELECT CONVERT('foo', 'WIN1251', 'MULE_INTERNAL');
convert
---------
foo
(1 row)
--- UNICODE --> EUC_KR
-SELECT CONVERT('foo' USING utf8_to_euc_kr);
+-- MULE_INTERNAL --> WIN1251
+SELECT CONVERT('foo' USING mic_to_win1251);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'UNICODE', 'EUC_KR');
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1251');
convert
---------
foo
(1 row)
--- EUC_CN --> UNICODE
-SELECT CONVERT('foo' USING euc_cn_to_utf8);
+-- ALT --> MULE_INTERNAL
+SELECT CONVERT('foo' USING win866_to_mic);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'EUC_CN', 'UNICODE');
+SELECT CONVERT('foo', 'ALT', 'MULE_INTERNAL');
convert
---------
foo
(1 row)
--- UNICODE --> EUC_CN
-SELECT CONVERT('foo' USING utf8_to_euc_cn);
+-- MULE_INTERNAL --> ALT
+SELECT CONVERT('foo' USING mic_to_win866);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'UNICODE', 'EUC_CN');
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'ALT');
convert
---------
foo
(1 row)
--- EUC_TW --> UNICODE
-SELECT CONVERT('foo' USING euc_tw_to_utf8);
+-- KOI8R --> WIN1251
+SELECT CONVERT('foo' USING koi8r_to_win1251);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'EUC_TW', 'UNICODE');
+SELECT CONVERT('foo', 'KOI8R', 'WIN1251');
convert
---------
foo
(1 row)
--- UNICODE --> EUC_TW
-SELECT CONVERT('foo' USING utf8_to_euc_tw);
+-- WIN1251 --> KOI8R
+SELECT CONVERT('foo' USING win1251_to_koi8r);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'UNICODE', 'EUC_TW');
+SELECT CONVERT('foo', 'WIN1251', 'KOI8R');
convert
---------
foo
(1 row)
--- SJIS --> UNICODE
-SELECT CONVERT('foo' USING sjis_to_utf8);
+-- KOI8R --> ALT
+SELECT CONVERT('foo' USING koi8r_to_win866);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'SJIS', 'UNICODE');
+SELECT CONVERT('foo', 'KOI8R', 'ALT');
convert
---------
foo
(1 row)
--- UNICODE --> SJIS
-SELECT CONVERT('foo' USING utf8_to_sjis);
+-- ALT --> KOI8R
+SELECT CONVERT('foo' USING win866_to_koi8r);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'UNICODE', 'SJIS');
+SELECT CONVERT('foo', 'ALT', 'KOI8R');
+ convert
+---------
+ foo
+(1 row)
+
+-- ALT --> WIN1251
+SELECT CONVERT('foo' USING win866_to_win1251);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'ALT', 'WIN1251');
+ convert
+---------
+ foo
+(1 row)
+
+-- WIN1251 --> ALT
+SELECT CONVERT('foo' USING win1251_to_win866);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'WIN1251', 'ALT');
+ convert
+---------
+ foo
+(1 row)
+
+-- ISO-8859-5 --> KOI8R
+SELECT CONVERT('foo' USING iso_8859_5_to_koi8r);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'ISO-8859-5', 'KOI8R');
+ convert
+---------
+ foo
+(1 row)
+
+-- KOI8R --> ISO-8859-5
+SELECT CONVERT('foo' USING koi8r_to_iso_8859_5);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'KOI8R', 'ISO-8859-5');
+ convert
+---------
+ foo
+(1 row)
+
+-- ISO-8859-5 --> WIN1251
+SELECT CONVERT('foo' USING iso_8859_5_to_win1251);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'ISO-8859-5', 'WIN1251');
+ convert
+---------
+ foo
+(1 row)
+
+-- WIN1251 --> ISO-8859-5
+SELECT CONVERT('foo' USING win1251_to_iso_8859_5);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'WIN1251', 'ISO-8859-5');
+ convert
+---------
+ foo
+(1 row)
+
+-- ISO-8859-5 --> ALT
+SELECT CONVERT('foo' USING iso_8859_5_to_win866);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'ISO-8859-5', 'ALT');
+ convert
+---------
+ foo
+(1 row)
+
+-- ALT --> ISO-8859-5
+SELECT CONVERT('foo' USING win866_to_iso_8859_5);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'ALT', 'ISO-8859-5');
+ convert
+---------
+ foo
+(1 row)
+
+-- EUC_CN --> MULE_INTERNAL
+SELECT CONVERT('foo' USING euc_cn_to_mic);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'EUC_CN', 'MULE_INTERNAL');
+ convert
+---------
+ foo
+(1 row)
+
+-- MULE_INTERNAL --> EUC_CN
+SELECT CONVERT('foo' USING mic_to_euc_cn);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_CN');
+ convert
+---------
+ foo
+(1 row)
+
+-- EUC_JP --> SJIS
+SELECT CONVERT('foo' USING euc_jp_to_sjis);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'EUC_JP', 'SJIS');
+ convert
+---------
+ foo
+(1 row)
+
+-- SJIS --> EUC_JP
+SELECT CONVERT('foo' USING sjis_to_euc_jp);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'SJIS', 'EUC_JP');
+ convert
+---------
+ foo
+(1 row)
+
+-- EUC_JP --> MULE_INTERNAL
+SELECT CONVERT('foo' USING euc_jp_to_mic);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'EUC_JP', 'MULE_INTERNAL');
+ convert
+---------
+ foo
+(1 row)
+
+-- SJIS --> MULE_INTERNAL
+SELECT CONVERT('foo' USING sjis_to_mic);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'SJIS', 'MULE_INTERNAL');
+ convert
+---------
+ foo
+(1 row)
+
+-- MULE_INTERNAL --> EUC_JP
+SELECT CONVERT('foo' USING mic_to_euc_jp);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_JP');
+ convert
+---------
+ foo
+(1 row)
+
+-- MULE_INTERNAL --> SJIS
+SELECT CONVERT('foo' USING mic_to_sjis);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'SJIS');
+ convert
+---------
+ foo
+(1 row)
+
+-- EUC_KR --> MULE_INTERNAL
+SELECT CONVERT('foo' USING euc_kr_to_mic);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'EUC_KR', 'MULE_INTERNAL');
+ convert
+---------
+ foo
+(1 row)
+
+-- MULE_INTERNAL --> EUC_KR
+SELECT CONVERT('foo' USING mic_to_euc_kr);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_KR');
+ convert
+---------
+ foo
+(1 row)
+
+-- EUC_TW --> BIG5
+SELECT CONVERT('foo' USING euc_tw_to_big5);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'EUC_TW', 'BIG5');
+ convert
+---------
+ foo
+(1 row)
+
+-- BIG5 --> EUC_TW
+SELECT CONVERT('foo' USING big5_to_euc_tw);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'BIG5', 'EUC_TW');
+ convert
+---------
+ foo
+(1 row)
+
+-- EUC_TW --> MULE_INTERNAL
+SELECT CONVERT('foo' USING euc_tw_to_mic);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'EUC_TW', 'MULE_INTERNAL');
+ convert
+---------
+ foo
+(1 row)
+
+-- BIG5 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING big5_to_mic);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'BIG5', 'MULE_INTERNAL');
+ convert
+---------
+ foo
+(1 row)
+
+-- MULE_INTERNAL --> EUC_TW
+SELECT CONVERT('foo' USING mic_to_euc_tw);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_TW');
+ convert
+---------
+ foo
+(1 row)
+
+-- MULE_INTERNAL --> BIG5
+SELECT CONVERT('foo' USING mic_to_big5);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'BIG5');
+ convert
+---------
+ foo
+(1 row)
+
+-- LATIN2 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING iso_8859_2_to_mic);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'LATIN2', 'MULE_INTERNAL');
+ convert
+---------
+ foo
+(1 row)
+
+-- MULE_INTERNAL --> LATIN2
+SELECT CONVERT('foo' USING mic_to_iso_8859_2);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN2');
+ convert
+---------
+ foo
+(1 row)
+
+-- WIN1250 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING win1250_to_mic);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'WIN1250', 'MULE_INTERNAL');
+ convert
+---------
+ foo
+(1 row)
+
+-- MULE_INTERNAL --> WIN1250
+SELECT CONVERT('foo' USING mic_to_win1250);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1250');
+ convert
+---------
+ foo
+(1 row)
+
+-- LATIN2 --> WIN1250
+SELECT CONVERT('foo' USING iso_8859_2_to_win1250);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'LATIN2', 'WIN1250');
+ convert
+---------
+ foo
+(1 row)
+
+-- WIN1250 --> LATIN2
+SELECT CONVERT('foo' USING win1250_to_iso_8859_2);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'WIN1250', 'LATIN2');
+ convert
+---------
+ foo
+(1 row)
+
+-- LATIN1 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING iso_8859_1_to_mic);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'LATIN1', 'MULE_INTERNAL');
+ convert
+---------
+ foo
+(1 row)
+
+-- MULE_INTERNAL --> LATIN1
+SELECT CONVERT('foo' USING mic_to_iso_8859_1);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN1');
+ convert
+---------
+ foo
+(1 row)
+
+-- LATIN3 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING iso_8859_3_to_mic);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'LATIN3', 'MULE_INTERNAL');
+ convert
+---------
+ foo
+(1 row)
+
+-- MULE_INTERNAL --> LATIN3
+SELECT CONVERT('foo' USING mic_to_iso_8859_3);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN3');
+ convert
+---------
+ foo
+(1 row)
+
+-- LATIN4 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING iso_8859_4_to_mic);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'LATIN4', 'MULE_INTERNAL');
+ convert
+---------
+ foo
+(1 row)
+
+-- MULE_INTERNAL --> LATIN4
+SELECT CONVERT('foo' USING mic_to_iso_8859_4);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN4');
+ convert
+---------
+ foo
+(1 row)
+
+-- SQL_ASCII --> UNICODE
+SELECT CONVERT('foo' USING ascii_to_utf_8);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'SQL_ASCII', 'UNICODE');
+ convert
+---------
+ foo
+(1 row)
+
+-- UNICODE --> SQL_ASCII
+SELECT CONVERT('foo' USING utf_8_to_ascii);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'UNICODE', 'SQL_ASCII');
convert
---------
foo
(1 row)
-- BIG5 --> UNICODE
-SELECT CONVERT('foo' USING big5_to_utf8);
+SELECT CONVERT('foo' USING big5_to_utf_8);
convert
---------
foo
@@ -221,7 +715,7 @@ SELECT CONVERT('foo', 'BIG5', 'UNICODE');
(1 row)
-- UNICODE --> BIG5
-SELECT CONVERT('foo' USING utf8_to_big5);
+SELECT CONVERT('foo' USING utf_8_to_big5);
convert
---------
foo
@@ -233,138 +727,242 @@ SELECT CONVERT('foo', 'UNICODE', 'BIG5');
foo
(1 row)
--- GBK --> UNICODE
-SELECT CONVERT('foo' USING gbk_to_utf8);
+-- UNICODE --> KOI8R
+SELECT CONVERT('foo' USING utf_8_to_koi8r);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'GBK', 'UNICODE');
+SELECT CONVERT('foo', 'UNICODE', 'KOI8R');
convert
---------
foo
(1 row)
--- UNICODE --> GBK
-SELECT CONVERT('foo' USING utf8_to_gbk);
+-- KOI8R --> UNICODE
+SELECT CONVERT('foo' USING koi8r_to_utf_8);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'UNICODE', 'GBK');
+SELECT CONVERT('foo', 'KOI8R', 'UNICODE');
convert
---------
foo
(1 row)
--- GB18030 --> UNICODE
-SELECT CONVERT('foo' USING gb18030_to_utf8);
+-- UNICODE --> WIN1251
+SELECT CONVERT('foo' USING utf_8_to_win1251);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'GB18030', 'UNICODE');
+SELECT CONVERT('foo', 'UNICODE', 'WIN1251');
convert
---------
foo
(1 row)
--- UNICODE --> GB18030
-SELECT CONVERT('foo' USING utf8_to_gb18030);
+-- WIN1251 --> UNICODE
+SELECT CONVERT('foo' USING win1251_to_utf_8);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'UNICODE', 'GB18030');
+SELECT CONVERT('foo', 'WIN1251', 'UNICODE');
convert
---------
foo
(1 row)
--- UHC --> UNICODE
-SELECT CONVERT('foo' USING uhc_to_utf8);
+-- UNICODE --> ALT
+SELECT CONVERT('foo' USING utf_8_to_win866);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'UHC', 'UNICODE');
+SELECT CONVERT('foo', 'UNICODE', 'ALT');
convert
---------
foo
(1 row)
--- UNICODE --> UHC
-SELECT CONVERT('foo' USING utf8_to_uhc);
+-- ALT --> UNICODE
+SELECT CONVERT('foo' USING win866_to_utf_8);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'UNICODE', 'UHC');
+SELECT CONVERT('foo', 'ALT', 'UNICODE');
convert
---------
foo
(1 row)
--- JOHAB --> UNICODE
-SELECT CONVERT('foo' USING johab_to_utf8);
+-- EUC_CN --> UNICODE
+SELECT CONVERT('foo' USING euc_cn_to_utf_8);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'JOHAB', 'UNICODE');
+SELECT CONVERT('foo', 'EUC_CN', 'UNICODE');
convert
---------
foo
(1 row)
--- UNICODE --> JOHAB
-SELECT CONVERT('foo' USING utf8_to_johab);
+-- UNICODE --> EUC_CN
+SELECT CONVERT('foo' USING utf_8_to_euc_cn);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'UNICODE', 'JOHAB');
+SELECT CONVERT('foo', 'UNICODE', 'EUC_CN');
convert
---------
foo
(1 row)
--- TCVN --> UNICODE
-SELECT CONVERT('foo' USING tcvn_to_utf8);
+-- EUC_JP --> UNICODE
+SELECT CONVERT('foo' USING euc_jp_to_utf_8);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'TCVN', 'UNICODE');
+SELECT CONVERT('foo', 'EUC_JP', 'UNICODE');
convert
---------
foo
(1 row)
--- UNICODE --> TCVN
-SELECT CONVERT('foo' USING utf8_to_tcvn);
+-- UNICODE --> EUC_JP
+SELECT CONVERT('foo' USING utf_8_to_euc_jp);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'UNICODE', 'TCVN');
+SELECT CONVERT('foo', 'UNICODE', 'EUC_JP');
+ convert
+---------
+ foo
+(1 row)
+
+-- EUC_KR --> UNICODE
+SELECT CONVERT('foo' USING euc_kr_to_utf_8);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'EUC_KR', 'UNICODE');
+ convert
+---------
+ foo
+(1 row)
+
+-- UNICODE --> EUC_KR
+SELECT CONVERT('foo' USING utf_8_to_euc_kr);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'UNICODE', 'EUC_KR');
+ convert
+---------
+ foo
+(1 row)
+
+-- EUC_TW --> UNICODE
+SELECT CONVERT('foo' USING euc_tw_to_utf_8);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'EUC_TW', 'UNICODE');
+ convert
+---------
+ foo
+(1 row)
+
+-- UNICODE --> EUC_TW
+SELECT CONVERT('foo' USING utf_8_to_euc_tw);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'UNICODE', 'EUC_TW');
+ convert
+---------
+ foo
+(1 row)
+
+-- GB18030 --> UNICODE
+SELECT CONVERT('foo' USING gb18030_to_utf_8);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'GB18030', 'UNICODE');
+ convert
+---------
+ foo
+(1 row)
+
+-- UNICODE --> GB18030
+SELECT CONVERT('foo' USING utf_8_to_gb18030);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'UNICODE', 'GB18030');
+ convert
+---------
+ foo
+(1 row)
+
+-- GBK --> UNICODE
+SELECT CONVERT('foo' USING gbk_to_utf_8);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'GBK', 'UNICODE');
+ convert
+---------
+ foo
+(1 row)
+
+-- UNICODE --> GBK
+SELECT CONVERT('foo' USING utf_8_to_gbk);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'UNICODE', 'GBK');
convert
---------
foo
(1 row)
-- UNICODE --> LATIN2
-SELECT CONVERT('foo' USING utf8_to_iso8859_2);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_2);
convert
---------
foo
@@ -377,7 +975,7 @@ SELECT CONVERT('foo', 'UNICODE', 'LATIN2');
(1 row)
-- LATIN2 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_2_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_2_to_utf_8);
convert
---------
foo
@@ -390,7 +988,7 @@ SELECT CONVERT('foo', 'LATIN2', 'UNICODE');
(1 row)
-- UNICODE --> LATIN3
-SELECT CONVERT('foo' USING utf8_to_iso8859_3);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_3);
convert
---------
foo
@@ -403,7 +1001,7 @@ SELECT CONVERT('foo', 'UNICODE', 'LATIN3');
(1 row)
-- LATIN3 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_3_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_3_to_utf_8);
convert
---------
foo
@@ -416,7 +1014,7 @@ SELECT CONVERT('foo', 'LATIN3', 'UNICODE');
(1 row)
-- UNICODE --> LATIN4
-SELECT CONVERT('foo' USING utf8_to_iso8859_4);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_4);
convert
---------
foo
@@ -429,7 +1027,7 @@ SELECT CONVERT('foo', 'UNICODE', 'LATIN4');
(1 row)
-- LATIN4 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_4_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_4_to_utf_8);
convert
---------
foo
@@ -442,7 +1040,7 @@ SELECT CONVERT('foo', 'LATIN4', 'UNICODE');
(1 row)
-- UNICODE --> LATIN5
-SELECT CONVERT('foo' USING utf8_to_iso8859_9);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_9);
convert
---------
foo
@@ -455,7 +1053,7 @@ SELECT CONVERT('foo', 'UNICODE', 'LATIN5');
(1 row)
-- LATIN5 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_9_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_9_to_utf_8);
convert
---------
foo
@@ -468,7 +1066,7 @@ SELECT CONVERT('foo', 'LATIN5', 'UNICODE');
(1 row)
-- UNICODE --> LATIN6
-SELECT CONVERT('foo' USING utf8_to_iso8859_10);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_10);
convert
---------
foo
@@ -481,7 +1079,7 @@ SELECT CONVERT('foo', 'UNICODE', 'LATIN6');
(1 row)
-- LATIN6 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_10_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_10_to_utf_8);
convert
---------
foo
@@ -494,7 +1092,7 @@ SELECT CONVERT('foo', 'LATIN6', 'UNICODE');
(1 row)
-- UNICODE --> LATIN7
-SELECT CONVERT('foo' USING utf8_to_iso8859_13);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_13);
convert
---------
foo
@@ -507,7 +1105,7 @@ SELECT CONVERT('foo', 'UNICODE', 'LATIN7');
(1 row)
-- LATIN7 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_13_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_13_to_utf_8);
convert
---------
foo
@@ -520,7 +1118,7 @@ SELECT CONVERT('foo', 'LATIN7', 'UNICODE');
(1 row)
-- UNICODE --> LATIN8
-SELECT CONVERT('foo' USING utf8_to_iso8859_14);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_14);
convert
---------
foo
@@ -533,7 +1131,7 @@ SELECT CONVERT('foo', 'UNICODE', 'LATIN8');
(1 row)
-- LATIN8 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_14_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_14_to_utf_8);
convert
---------
foo
@@ -546,7 +1144,7 @@ SELECT CONVERT('foo', 'LATIN8', 'UNICODE');
(1 row)
-- UNICODE --> LATIN9
-SELECT CONVERT('foo' USING utf8_to_iso8859_15);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_15);
convert
---------
foo
@@ -559,7 +1157,7 @@ SELECT CONVERT('foo', 'UNICODE', 'LATIN9');
(1 row)
-- LATIN9 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_15_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_15_to_utf_8);
convert
---------
foo
@@ -572,7 +1170,7 @@ SELECT CONVERT('foo', 'LATIN9', 'UNICODE');
(1 row)
-- UNICODE --> LATIN10
-SELECT CONVERT('foo' USING utf8_to_iso8859_16);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_16);
convert
---------
foo
@@ -585,7 +1183,7 @@ SELECT CONVERT('foo', 'UNICODE', 'LATIN10');
(1 row)
-- LATIN10 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_16_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_16_to_utf_8);
convert
---------
foo
@@ -598,7 +1196,7 @@ SELECT CONVERT('foo', 'LATIN10', 'UNICODE');
(1 row)
-- UNICODE --> ISO-8859-5
-SELECT CONVERT('foo' USING utf8_to_iso8859_5);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_5);
convert
---------
foo
@@ -611,7 +1209,7 @@ SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-5');
(1 row)
-- ISO-8859-5 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_5_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_5_to_utf_8);
convert
---------
foo
@@ -624,7 +1222,7 @@ SELECT CONVERT('foo', 'ISO-8859-5', 'UNICODE');
(1 row)
-- UNICODE --> ISO-8859-6
-SELECT CONVERT('foo' USING utf8_to_iso8859_6);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_6);
convert
---------
foo
@@ -637,7 +1235,7 @@ SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-6');
(1 row)
-- ISO-8859-6 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_6_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_6_to_utf_8);
convert
---------
foo
@@ -650,7 +1248,7 @@ SELECT CONVERT('foo', 'ISO-8859-6', 'UNICODE');
(1 row)
-- UNICODE --> ISO-8859-7
-SELECT CONVERT('foo' USING utf8_to_iso8859_7);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_7);
convert
---------
foo
@@ -663,7 +1261,7 @@ SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-7');
(1 row)
-- ISO-8859-7 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_7_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_7_to_utf_8);
convert
---------
foo
@@ -676,7 +1274,7 @@ SELECT CONVERT('foo', 'ISO-8859-7', 'UNICODE');
(1 row)
-- UNICODE --> ISO-8859-8
-SELECT CONVERT('foo' USING utf8_to_iso8859_8);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_8);
convert
---------
foo
@@ -689,7 +1287,7 @@ SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-8');
(1 row)
-- ISO-8859-8 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_8_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_8_to_utf_8);
convert
---------
foo
@@ -701,157 +1299,209 @@ SELECT CONVERT('foo', 'ISO-8859-8', 'UNICODE');
foo
(1 row)
--- EUC_JP --> SJIS
-SELECT CONVERT('foo' USING euc_jp_to_sjis);
+-- LATIN1 --> UNICODE
+SELECT CONVERT('foo' USING iso_8859_1_to_utf_8);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'EUC_JP', 'SJIS');
+SELECT CONVERT('foo', 'LATIN1', 'UNICODE');
convert
---------
foo
(1 row)
--- SJIS --> EUC_JP
-SELECT CONVERT('foo' USING sjis_to_euc_jp);
+-- UNICODE --> LATIN1
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_1);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'SJIS', 'EUC_JP');
+SELECT CONVERT('foo', 'UNICODE', 'LATIN1');
convert
---------
foo
(1 row)
--- EUC_JP --> MULE_INTERNAL
-SELECT CONVERT('foo' USING euc_jp_to_mic);
+-- JOHAB --> UNICODE
+SELECT CONVERT('foo' USING johab_to_utf_8);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'EUC_JP', 'MULE_INTERNAL');
+SELECT CONVERT('foo', 'JOHAB', 'UNICODE');
convert
---------
foo
(1 row)
--- SJIS --> MULE_INTERNAL
-SELECT CONVERT('foo' USING sjis_to_mic);
+-- UNICODE --> JOHAB
+SELECT CONVERT('foo' USING utf_8_to_johab);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'SJIS', 'MULE_INTERNAL');
+SELECT CONVERT('foo', 'UNICODE', 'JOHAB');
convert
---------
foo
(1 row)
--- MULE_INTERNAL --> EUC_JP
-SELECT CONVERT('foo' USING mic_to_euc_jp);
+-- SJIS --> UNICODE
+SELECT CONVERT('foo' USING sjis_to_utf_8);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_JP');
+SELECT CONVERT('foo', 'SJIS', 'UNICODE');
convert
---------
foo
(1 row)
--- MULE_INTERNAL --> SJIS
-SELECT CONVERT('foo' USING mic_to_sjis);
+-- UNICODE --> SJIS
+SELECT CONVERT('foo' USING utf_8_to_sjis);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'SJIS');
+SELECT CONVERT('foo', 'UNICODE', 'SJIS');
convert
---------
foo
(1 row)
--- EUC_TW --> BIG5
-SELECT CONVERT('foo' USING euc_tw_to_big5);
+-- TCVN --> UNICODE
+SELECT CONVERT('foo' USING tcvn_to_utf_8);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'EUC_TW', 'BIG5');
+SELECT CONVERT('foo', 'TCVN', 'UNICODE');
convert
---------
foo
(1 row)
--- BIG5 --> EUC_TW
-SELECT CONVERT('foo' USING big5_to_euc_tw);
+-- UNICODE --> TCVN
+SELECT CONVERT('foo' USING utf_8_to_tcvn);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'BIG5', 'EUC_TW');
+SELECT CONVERT('foo', 'UNICODE', 'TCVN');
convert
---------
foo
(1 row)
--- EUC_TW --> MULE_INTERNAL
-SELECT CONVERT('foo' USING euc_tw_to_mic);
+-- UHC --> UNICODE
+SELECT CONVERT('foo' USING uhc_to_utf_8);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'EUC_TW', 'MULE_INTERNAL');
+SELECT CONVERT('foo', 'UHC', 'UNICODE');
convert
---------
foo
(1 row)
--- BIG5 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING big5_to_mic);
+-- UNICODE --> UHC
+SELECT CONVERT('foo' USING utf_8_to_uhc);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'BIG5', 'MULE_INTERNAL');
+SELECT CONVERT('foo', 'UNICODE', 'UHC');
convert
---------
foo
(1 row)
--- MULE_INTERNAL --> EUC_TW
-SELECT CONVERT('foo' USING mic_to_euc_tw);
+-- UNICODE --> WIN1250
+SELECT CONVERT('foo' USING utf_8_to_win1250);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_TW');
+SELECT CONVERT('foo', 'UNICODE', 'WIN1250');
convert
---------
foo
(1 row)
--- MULE_INTERNAL --> BIG5
-SELECT CONVERT('foo' USING mic_to_big5);
+-- WIN1250 --> UNICODE
+SELECT CONVERT('foo' USING win1250_to_utf_8);
convert
---------
foo
(1 row)
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'BIG5');
+SELECT CONVERT('foo', 'WIN1250', 'UNICODE');
+ convert
+---------
+ foo
+(1 row)
+
+-- UNICODE --> WIN1256
+SELECT CONVERT('foo' USING utf_8_to_win1256);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'UNICODE', 'WIN1256');
+ convert
+---------
+ foo
+(1 row)
+
+-- WIN1256 --> UNICODE
+SELECT CONVERT('foo' USING win1256_to_utf_8);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'WIN1256', 'UNICODE');
+ convert
+---------
+ foo
+(1 row)
+
+-- UNICODE --> WIN874
+SELECT CONVERT('foo' USING utf_8_to_win874);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'UNICODE', 'WIN874');
+ convert
+---------
+ foo
+(1 row)
+
+-- WIN874 --> UNICODE
+SELECT CONVERT('foo' USING win874_to_utf_8);
+ convert
+---------
+ foo
+(1 row)
+
+SELECT CONVERT('foo', 'WIN874', 'UNICODE');
convert
---------
foo
diff --git a/src/test/regress/sql/conversion.sql b/src/test/regress/sql/conversion.sql
index e4639d86278..d95b91975f9 100644
--- a/src/test/regress/sql/conversion.sql
+++ b/src/test/regress/sql/conversion.sql
@@ -23,198 +23,348 @@ DROP CONVERSION myconv;
DROP CONVERSION mydef;
--
-- make sure all pre-defined conversions are fine.
--- UNICODE --> SQL_ASCII
-SELECT CONVERT('foo' USING utf8_to_ascii);
-SELECT CONVERT('foo', 'UNICODE', 'SQL_ASCII');
+-- SQL_ASCII --> MULE_INTERNAL
+SELECT CONVERT('foo' USING ascii_to_mic);
+SELECT CONVERT('foo', 'SQL_ASCII', 'MULE_INTERNAL');
+-- MULE_INTERNAL --> SQL_ASCII
+SELECT CONVERT('foo' USING mic_to_ascii);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'SQL_ASCII');
+-- KOI8R --> MULE_INTERNAL
+SELECT CONVERT('foo' USING koi8r_to_mic);
+SELECT CONVERT('foo', 'KOI8R', 'MULE_INTERNAL');
+-- MULE_INTERNAL --> KOI8R
+SELECT CONVERT('foo' USING mic_to_koi8r);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'KOI8R');
+-- ISO-8859-5 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING iso_8859_5_to_mic);
+SELECT CONVERT('foo', 'ISO-8859-5', 'MULE_INTERNAL');
+-- MULE_INTERNAL --> ISO-8859-5
+SELECT CONVERT('foo' USING mic_to_iso_8859_5);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'ISO-8859-5');
+-- WIN1251 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING win1251_to_mic);
+SELECT CONVERT('foo', 'WIN1251', 'MULE_INTERNAL');
+-- MULE_INTERNAL --> WIN1251
+SELECT CONVERT('foo' USING mic_to_win1251);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1251');
+-- ALT --> MULE_INTERNAL
+SELECT CONVERT('foo' USING win866_to_mic);
+SELECT CONVERT('foo', 'ALT', 'MULE_INTERNAL');
+-- MULE_INTERNAL --> ALT
+SELECT CONVERT('foo' USING mic_to_win866);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'ALT');
+-- KOI8R --> WIN1251
+SELECT CONVERT('foo' USING koi8r_to_win1251);
+SELECT CONVERT('foo', 'KOI8R', 'WIN1251');
+-- WIN1251 --> KOI8R
+SELECT CONVERT('foo' USING win1251_to_koi8r);
+SELECT CONVERT('foo', 'WIN1251', 'KOI8R');
+-- KOI8R --> ALT
+SELECT CONVERT('foo' USING koi8r_to_win866);
+SELECT CONVERT('foo', 'KOI8R', 'ALT');
+-- ALT --> KOI8R
+SELECT CONVERT('foo' USING win866_to_koi8r);
+SELECT CONVERT('foo', 'ALT', 'KOI8R');
+-- ALT --> WIN1251
+SELECT CONVERT('foo' USING win866_to_win1251);
+SELECT CONVERT('foo', 'ALT', 'WIN1251');
+-- WIN1251 --> ALT
+SELECT CONVERT('foo' USING win1251_to_win866);
+SELECT CONVERT('foo', 'WIN1251', 'ALT');
+-- ISO-8859-5 --> KOI8R
+SELECT CONVERT('foo' USING iso_8859_5_to_koi8r);
+SELECT CONVERT('foo', 'ISO-8859-5', 'KOI8R');
+-- KOI8R --> ISO-8859-5
+SELECT CONVERT('foo' USING koi8r_to_iso_8859_5);
+SELECT CONVERT('foo', 'KOI8R', 'ISO-8859-5');
+-- ISO-8859-5 --> WIN1251
+SELECT CONVERT('foo' USING iso_8859_5_to_win1251);
+SELECT CONVERT('foo', 'ISO-8859-5', 'WIN1251');
+-- WIN1251 --> ISO-8859-5
+SELECT CONVERT('foo' USING win1251_to_iso_8859_5);
+SELECT CONVERT('foo', 'WIN1251', 'ISO-8859-5');
+-- ISO-8859-5 --> ALT
+SELECT CONVERT('foo' USING iso_8859_5_to_win866);
+SELECT CONVERT('foo', 'ISO-8859-5', 'ALT');
+-- ALT --> ISO-8859-5
+SELECT CONVERT('foo' USING win866_to_iso_8859_5);
+SELECT CONVERT('foo', 'ALT', 'ISO-8859-5');
+-- EUC_CN --> MULE_INTERNAL
+SELECT CONVERT('foo' USING euc_cn_to_mic);
+SELECT CONVERT('foo', 'EUC_CN', 'MULE_INTERNAL');
+-- MULE_INTERNAL --> EUC_CN
+SELECT CONVERT('foo' USING mic_to_euc_cn);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_CN');
+-- EUC_JP --> SJIS
+SELECT CONVERT('foo' USING euc_jp_to_sjis);
+SELECT CONVERT('foo', 'EUC_JP', 'SJIS');
+-- SJIS --> EUC_JP
+SELECT CONVERT('foo' USING sjis_to_euc_jp);
+SELECT CONVERT('foo', 'SJIS', 'EUC_JP');
+-- EUC_JP --> MULE_INTERNAL
+SELECT CONVERT('foo' USING euc_jp_to_mic);
+SELECT CONVERT('foo', 'EUC_JP', 'MULE_INTERNAL');
+-- SJIS --> MULE_INTERNAL
+SELECT CONVERT('foo' USING sjis_to_mic);
+SELECT CONVERT('foo', 'SJIS', 'MULE_INTERNAL');
+-- MULE_INTERNAL --> EUC_JP
+SELECT CONVERT('foo' USING mic_to_euc_jp);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_JP');
+-- MULE_INTERNAL --> SJIS
+SELECT CONVERT('foo' USING mic_to_sjis);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'SJIS');
+-- EUC_KR --> MULE_INTERNAL
+SELECT CONVERT('foo' USING euc_kr_to_mic);
+SELECT CONVERT('foo', 'EUC_KR', 'MULE_INTERNAL');
+-- MULE_INTERNAL --> EUC_KR
+SELECT CONVERT('foo' USING mic_to_euc_kr);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_KR');
+-- EUC_TW --> BIG5
+SELECT CONVERT('foo' USING euc_tw_to_big5);
+SELECT CONVERT('foo', 'EUC_TW', 'BIG5');
+-- BIG5 --> EUC_TW
+SELECT CONVERT('foo' USING big5_to_euc_tw);
+SELECT CONVERT('foo', 'BIG5', 'EUC_TW');
+-- EUC_TW --> MULE_INTERNAL
+SELECT CONVERT('foo' USING euc_tw_to_mic);
+SELECT CONVERT('foo', 'EUC_TW', 'MULE_INTERNAL');
+-- BIG5 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING big5_to_mic);
+SELECT CONVERT('foo', 'BIG5', 'MULE_INTERNAL');
+-- MULE_INTERNAL --> EUC_TW
+SELECT CONVERT('foo' USING mic_to_euc_tw);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_TW');
+-- MULE_INTERNAL --> BIG5
+SELECT CONVERT('foo' USING mic_to_big5);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'BIG5');
+-- LATIN2 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING iso_8859_2_to_mic);
+SELECT CONVERT('foo', 'LATIN2', 'MULE_INTERNAL');
+-- MULE_INTERNAL --> LATIN2
+SELECT CONVERT('foo' USING mic_to_iso_8859_2);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN2');
+-- WIN1250 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING win1250_to_mic);
+SELECT CONVERT('foo', 'WIN1250', 'MULE_INTERNAL');
+-- MULE_INTERNAL --> WIN1250
+SELECT CONVERT('foo' USING mic_to_win1250);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1250');
+-- LATIN2 --> WIN1250
+SELECT CONVERT('foo' USING iso_8859_2_to_win1250);
+SELECT CONVERT('foo', 'LATIN2', 'WIN1250');
+-- WIN1250 --> LATIN2
+SELECT CONVERT('foo' USING win1250_to_iso_8859_2);
+SELECT CONVERT('foo', 'WIN1250', 'LATIN2');
+-- LATIN1 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING iso_8859_1_to_mic);
+SELECT CONVERT('foo', 'LATIN1', 'MULE_INTERNAL');
+-- MULE_INTERNAL --> LATIN1
+SELECT CONVERT('foo' USING mic_to_iso_8859_1);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN1');
+-- LATIN3 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING iso_8859_3_to_mic);
+SELECT CONVERT('foo', 'LATIN3', 'MULE_INTERNAL');
+-- MULE_INTERNAL --> LATIN3
+SELECT CONVERT('foo' USING mic_to_iso_8859_3);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN3');
+-- LATIN4 --> MULE_INTERNAL
+SELECT CONVERT('foo' USING iso_8859_4_to_mic);
+SELECT CONVERT('foo', 'LATIN4', 'MULE_INTERNAL');
+-- MULE_INTERNAL --> LATIN4
+SELECT CONVERT('foo' USING mic_to_iso_8859_4);
+SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN4');
-- SQL_ASCII --> UNICODE
-SELECT CONVERT('foo' USING ascii_to_utf8);
+SELECT CONVERT('foo' USING ascii_to_utf_8);
SELECT CONVERT('foo', 'SQL_ASCII', 'UNICODE');
--- UNICODE --> LATIN1
-SELECT CONVERT('foo' USING utf8_to_iso8859_1);
-SELECT CONVERT('foo', 'UNICODE', 'LATIN1');
--- LATIN1 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_1_to_utf8);
-SELECT CONVERT('foo', 'LATIN1', 'UNICODE');
+-- UNICODE --> SQL_ASCII
+SELECT CONVERT('foo' USING utf_8_to_ascii);
+SELECT CONVERT('foo', 'UNICODE', 'SQL_ASCII');
+-- BIG5 --> UNICODE
+SELECT CONVERT('foo' USING big5_to_utf_8);
+SELECT CONVERT('foo', 'BIG5', 'UNICODE');
+-- UNICODE --> BIG5
+SELECT CONVERT('foo' USING utf_8_to_big5);
+SELECT CONVERT('foo', 'UNICODE', 'BIG5');
+-- UNICODE --> KOI8R
+SELECT CONVERT('foo' USING utf_8_to_koi8r);
+SELECT CONVERT('foo', 'UNICODE', 'KOI8R');
+-- KOI8R --> UNICODE
+SELECT CONVERT('foo' USING koi8r_to_utf_8);
+SELECT CONVERT('foo', 'KOI8R', 'UNICODE');
+-- UNICODE --> WIN1251
+SELECT CONVERT('foo' USING utf_8_to_win1251);
+SELECT CONVERT('foo', 'UNICODE', 'WIN1251');
+-- WIN1251 --> UNICODE
+SELECT CONVERT('foo' USING win1251_to_utf_8);
+SELECT CONVERT('foo', 'WIN1251', 'UNICODE');
+-- UNICODE --> ALT
+SELECT CONVERT('foo' USING utf_8_to_win866);
+SELECT CONVERT('foo', 'UNICODE', 'ALT');
+-- ALT --> UNICODE
+SELECT CONVERT('foo' USING win866_to_utf_8);
+SELECT CONVERT('foo', 'ALT', 'UNICODE');
+-- EUC_CN --> UNICODE
+SELECT CONVERT('foo' USING euc_cn_to_utf_8);
+SELECT CONVERT('foo', 'EUC_CN', 'UNICODE');
+-- UNICODE --> EUC_CN
+SELECT CONVERT('foo' USING utf_8_to_euc_cn);
+SELECT CONVERT('foo', 'UNICODE', 'EUC_CN');
-- EUC_JP --> UNICODE
-SELECT CONVERT('foo' USING euc_jp_to_utf8);
+SELECT CONVERT('foo' USING euc_jp_to_utf_8);
SELECT CONVERT('foo', 'EUC_JP', 'UNICODE');
-- UNICODE --> EUC_JP
-SELECT CONVERT('foo' USING utf8_to_euc_jp);
+SELECT CONVERT('foo' USING utf_8_to_euc_jp);
SELECT CONVERT('foo', 'UNICODE', 'EUC_JP');
-- EUC_KR --> UNICODE
-SELECT CONVERT('foo' USING euc_kr_to_utf8);
+SELECT CONVERT('foo' USING euc_kr_to_utf_8);
SELECT CONVERT('foo', 'EUC_KR', 'UNICODE');
-- UNICODE --> EUC_KR
-SELECT CONVERT('foo' USING utf8_to_euc_kr);
+SELECT CONVERT('foo' USING utf_8_to_euc_kr);
SELECT CONVERT('foo', 'UNICODE', 'EUC_KR');
--- EUC_CN --> UNICODE
-SELECT CONVERT('foo' USING euc_cn_to_utf8);
-SELECT CONVERT('foo', 'EUC_CN', 'UNICODE');
--- UNICODE --> EUC_CN
-SELECT CONVERT('foo' USING utf8_to_euc_cn);
-SELECT CONVERT('foo', 'UNICODE', 'EUC_CN');
-- EUC_TW --> UNICODE
-SELECT CONVERT('foo' USING euc_tw_to_utf8);
+SELECT CONVERT('foo' USING euc_tw_to_utf_8);
SELECT CONVERT('foo', 'EUC_TW', 'UNICODE');
-- UNICODE --> EUC_TW
-SELECT CONVERT('foo' USING utf8_to_euc_tw);
+SELECT CONVERT('foo' USING utf_8_to_euc_tw);
SELECT CONVERT('foo', 'UNICODE', 'EUC_TW');
--- SJIS --> UNICODE
-SELECT CONVERT('foo' USING sjis_to_utf8);
-SELECT CONVERT('foo', 'SJIS', 'UNICODE');
--- UNICODE --> SJIS
-SELECT CONVERT('foo' USING utf8_to_sjis);
-SELECT CONVERT('foo', 'UNICODE', 'SJIS');
--- BIG5 --> UNICODE
-SELECT CONVERT('foo' USING big5_to_utf8);
-SELECT CONVERT('foo', 'BIG5', 'UNICODE');
--- UNICODE --> BIG5
-SELECT CONVERT('foo' USING utf8_to_big5);
-SELECT CONVERT('foo', 'UNICODE', 'BIG5');
--- GBK --> UNICODE
-SELECT CONVERT('foo' USING gbk_to_utf8);
-SELECT CONVERT('foo', 'GBK', 'UNICODE');
--- UNICODE --> GBK
-SELECT CONVERT('foo' USING utf8_to_gbk);
-SELECT CONVERT('foo', 'UNICODE', 'GBK');
-- GB18030 --> UNICODE
-SELECT CONVERT('foo' USING gb18030_to_utf8);
+SELECT CONVERT('foo' USING gb18030_to_utf_8);
SELECT CONVERT('foo', 'GB18030', 'UNICODE');
-- UNICODE --> GB18030
-SELECT CONVERT('foo' USING utf8_to_gb18030);
+SELECT CONVERT('foo' USING utf_8_to_gb18030);
SELECT CONVERT('foo', 'UNICODE', 'GB18030');
--- UHC --> UNICODE
-SELECT CONVERT('foo' USING uhc_to_utf8);
-SELECT CONVERT('foo', 'UHC', 'UNICODE');
--- UNICODE --> UHC
-SELECT CONVERT('foo' USING utf8_to_uhc);
-SELECT CONVERT('foo', 'UNICODE', 'UHC');
--- JOHAB --> UNICODE
-SELECT CONVERT('foo' USING johab_to_utf8);
-SELECT CONVERT('foo', 'JOHAB', 'UNICODE');
--- UNICODE --> JOHAB
-SELECT CONVERT('foo' USING utf8_to_johab);
-SELECT CONVERT('foo', 'UNICODE', 'JOHAB');
--- TCVN --> UNICODE
-SELECT CONVERT('foo' USING tcvn_to_utf8);
-SELECT CONVERT('foo', 'TCVN', 'UNICODE');
--- UNICODE --> TCVN
-SELECT CONVERT('foo' USING utf8_to_tcvn);
-SELECT CONVERT('foo', 'UNICODE', 'TCVN');
+-- GBK --> UNICODE
+SELECT CONVERT('foo' USING gbk_to_utf_8);
+SELECT CONVERT('foo', 'GBK', 'UNICODE');
+-- UNICODE --> GBK
+SELECT CONVERT('foo' USING utf_8_to_gbk);
+SELECT CONVERT('foo', 'UNICODE', 'GBK');
-- UNICODE --> LATIN2
-SELECT CONVERT('foo' USING utf8_to_iso8859_2);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_2);
SELECT CONVERT('foo', 'UNICODE', 'LATIN2');
-- LATIN2 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_2_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_2_to_utf_8);
SELECT CONVERT('foo', 'LATIN2', 'UNICODE');
-- UNICODE --> LATIN3
-SELECT CONVERT('foo' USING utf8_to_iso8859_3);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_3);
SELECT CONVERT('foo', 'UNICODE', 'LATIN3');
-- LATIN3 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_3_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_3_to_utf_8);
SELECT CONVERT('foo', 'LATIN3', 'UNICODE');
-- UNICODE --> LATIN4
-SELECT CONVERT('foo' USING utf8_to_iso8859_4);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_4);
SELECT CONVERT('foo', 'UNICODE', 'LATIN4');
-- LATIN4 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_4_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_4_to_utf_8);
SELECT CONVERT('foo', 'LATIN4', 'UNICODE');
-- UNICODE --> LATIN5
-SELECT CONVERT('foo' USING utf8_to_iso8859_9);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_9);
SELECT CONVERT('foo', 'UNICODE', 'LATIN5');
-- LATIN5 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_9_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_9_to_utf_8);
SELECT CONVERT('foo', 'LATIN5', 'UNICODE');
-- UNICODE --> LATIN6
-SELECT CONVERT('foo' USING utf8_to_iso8859_10);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_10);
SELECT CONVERT('foo', 'UNICODE', 'LATIN6');
-- LATIN6 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_10_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_10_to_utf_8);
SELECT CONVERT('foo', 'LATIN6', 'UNICODE');
-- UNICODE --> LATIN7
-SELECT CONVERT('foo' USING utf8_to_iso8859_13);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_13);
SELECT CONVERT('foo', 'UNICODE', 'LATIN7');
-- LATIN7 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_13_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_13_to_utf_8);
SELECT CONVERT('foo', 'LATIN7', 'UNICODE');
-- UNICODE --> LATIN8
-SELECT CONVERT('foo' USING utf8_to_iso8859_14);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_14);
SELECT CONVERT('foo', 'UNICODE', 'LATIN8');
-- LATIN8 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_14_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_14_to_utf_8);
SELECT CONVERT('foo', 'LATIN8', 'UNICODE');
-- UNICODE --> LATIN9
-SELECT CONVERT('foo' USING utf8_to_iso8859_15);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_15);
SELECT CONVERT('foo', 'UNICODE', 'LATIN9');
-- LATIN9 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_15_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_15_to_utf_8);
SELECT CONVERT('foo', 'LATIN9', 'UNICODE');
-- UNICODE --> LATIN10
-SELECT CONVERT('foo' USING utf8_to_iso8859_16);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_16);
SELECT CONVERT('foo', 'UNICODE', 'LATIN10');
-- LATIN10 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_16_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_16_to_utf_8);
SELECT CONVERT('foo', 'LATIN10', 'UNICODE');
-- UNICODE --> ISO-8859-5
-SELECT CONVERT('foo' USING utf8_to_iso8859_5);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_5);
SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-5');
-- ISO-8859-5 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_5_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_5_to_utf_8);
SELECT CONVERT('foo', 'ISO-8859-5', 'UNICODE');
-- UNICODE --> ISO-8859-6
-SELECT CONVERT('foo' USING utf8_to_iso8859_6);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_6);
SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-6');
-- ISO-8859-6 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_6_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_6_to_utf_8);
SELECT CONVERT('foo', 'ISO-8859-6', 'UNICODE');
-- UNICODE --> ISO-8859-7
-SELECT CONVERT('foo' USING utf8_to_iso8859_7);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_7);
SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-7');
-- ISO-8859-7 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_7_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_7_to_utf_8);
SELECT CONVERT('foo', 'ISO-8859-7', 'UNICODE');
-- UNICODE --> ISO-8859-8
-SELECT CONVERT('foo' USING utf8_to_iso8859_8);
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_8);
SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-8');
-- ISO-8859-8 --> UNICODE
-SELECT CONVERT('foo' USING iso8859_8_to_utf8);
+SELECT CONVERT('foo' USING iso_8859_8_to_utf_8);
SELECT CONVERT('foo', 'ISO-8859-8', 'UNICODE');
--- EUC_JP --> SJIS
-SELECT CONVERT('foo' USING euc_jp_to_sjis);
-SELECT CONVERT('foo', 'EUC_JP', 'SJIS');
--- SJIS --> EUC_JP
-SELECT CONVERT('foo' USING sjis_to_euc_jp);
-SELECT CONVERT('foo', 'SJIS', 'EUC_JP');
--- EUC_JP --> MULE_INTERNAL
-SELECT CONVERT('foo' USING euc_jp_to_mic);
-SELECT CONVERT('foo', 'EUC_JP', 'MULE_INTERNAL');
--- SJIS --> MULE_INTERNAL
-SELECT CONVERT('foo' USING sjis_to_mic);
-SELECT CONVERT('foo', 'SJIS', 'MULE_INTERNAL');
--- MULE_INTERNAL --> EUC_JP
-SELECT CONVERT('foo' USING mic_to_euc_jp);
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_JP');
--- MULE_INTERNAL --> SJIS
-SELECT CONVERT('foo' USING mic_to_sjis);
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'SJIS');
--- EUC_TW --> BIG5
-SELECT CONVERT('foo' USING euc_tw_to_big5);
-SELECT CONVERT('foo', 'EUC_TW', 'BIG5');
--- BIG5 --> EUC_TW
-SELECT CONVERT('foo' USING big5_to_euc_tw);
-SELECT CONVERT('foo', 'BIG5', 'EUC_TW');
--- EUC_TW --> MULE_INTERNAL
-SELECT CONVERT('foo' USING euc_tw_to_mic);
-SELECT CONVERT('foo', 'EUC_TW', 'MULE_INTERNAL');
--- BIG5 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING big5_to_mic);
-SELECT CONVERT('foo', 'BIG5', 'MULE_INTERNAL');
--- MULE_INTERNAL --> EUC_TW
-SELECT CONVERT('foo' USING mic_to_euc_tw);
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_TW');
--- MULE_INTERNAL --> BIG5
-SELECT CONVERT('foo' USING mic_to_big5);
-SELECT CONVERT('foo', 'MULE_INTERNAL', 'BIG5');
+-- LATIN1 --> UNICODE
+SELECT CONVERT('foo' USING iso_8859_1_to_utf_8);
+SELECT CONVERT('foo', 'LATIN1', 'UNICODE');
+-- UNICODE --> LATIN1
+SELECT CONVERT('foo' USING utf_8_to_iso_8859_1);
+SELECT CONVERT('foo', 'UNICODE', 'LATIN1');
+-- JOHAB --> UNICODE
+SELECT CONVERT('foo' USING johab_to_utf_8);
+SELECT CONVERT('foo', 'JOHAB', 'UNICODE');
+-- UNICODE --> JOHAB
+SELECT CONVERT('foo' USING utf_8_to_johab);
+SELECT CONVERT('foo', 'UNICODE', 'JOHAB');
+-- SJIS --> UNICODE
+SELECT CONVERT('foo' USING sjis_to_utf_8);
+SELECT CONVERT('foo', 'SJIS', 'UNICODE');
+-- UNICODE --> SJIS
+SELECT CONVERT('foo' USING utf_8_to_sjis);
+SELECT CONVERT('foo', 'UNICODE', 'SJIS');
+-- TCVN --> UNICODE
+SELECT CONVERT('foo' USING tcvn_to_utf_8);
+SELECT CONVERT('foo', 'TCVN', 'UNICODE');
+-- UNICODE --> TCVN
+SELECT CONVERT('foo' USING utf_8_to_tcvn);
+SELECT CONVERT('foo', 'UNICODE', 'TCVN');
+-- UHC --> UNICODE
+SELECT CONVERT('foo' USING uhc_to_utf_8);
+SELECT CONVERT('foo', 'UHC', 'UNICODE');
+-- UNICODE --> UHC
+SELECT CONVERT('foo' USING utf_8_to_uhc);
+SELECT CONVERT('foo', 'UNICODE', 'UHC');
+-- UNICODE --> WIN1250
+SELECT CONVERT('foo' USING utf_8_to_win1250);
+SELECT CONVERT('foo', 'UNICODE', 'WIN1250');
+-- WIN1250 --> UNICODE
+SELECT CONVERT('foo' USING win1250_to_utf_8);
+SELECT CONVERT('foo', 'WIN1250', 'UNICODE');
+-- UNICODE --> WIN1256
+SELECT CONVERT('foo' USING utf_8_to_win1256);
+SELECT CONVERT('foo', 'UNICODE', 'WIN1256');
+-- WIN1256 --> UNICODE
+SELECT CONVERT('foo' USING win1256_to_utf_8);
+SELECT CONVERT('foo', 'WIN1256', 'UNICODE');
+-- UNICODE --> WIN874
+SELECT CONVERT('foo' USING utf_8_to_win874);
+SELECT CONVERT('foo', 'UNICODE', 'WIN874');
+-- WIN874 --> UNICODE
+SELECT CONVERT('foo' USING win874_to_utf_8);
+SELECT CONVERT('foo', 'WIN874', 'UNICODE');
--
-- return to the super user
--