Commit e3d7de6b authored by Bruce Momjian's avatar Bruce Momjian

Rename canonical encodings, per Peter:

	UNICODE => UTF8
	ALT => WIN866
	WIN => WIN1251
	TCVN => WIN1258

The old codes continue to work.
parent c6ad5c2e
...@@ -299,7 +299,7 @@ o set client_encoding $B%3%^%s%I$r;H$&J}K!(B ...@@ -299,7 +299,7 @@ o set client_encoding $B%3%^%s%I$r;H$&J}K!(B
PostgreSQL$B$N(BCONVERT$B$H5!G=$O$[$H$s$IF1$8$G$9$,!$8F$S=P$77A<0$,0[$j$^(B PostgreSQL$B$N(BCONVERT$B$H5!G=$O$[$H$s$IF1$8$G$9$,!$8F$S=P$77A<0$,0[$j$^(B
$B$9!%(B $B$9!%(B
SELECT convert(text using euc_jp_to_utf_8) FROM unicode_tbl; SELECT convert(text using euc_jp_to_utf8) FROM unicode_tbl;
"using" $B$N8e$N0z?t$O!V%3%s%P!<%8%g%sL>!W$G$9!%$3$NNc$G$O!$(BEUC_JP $B$+(B "using" $B$N8e$N0z?t$O!V%3%s%P!<%8%g%sL>!W$G$9!%$3$NNc$G$O!$(BEUC_JP $B$+(B
$B$i(B UTF-8 $B$KJQ49$9$k%3%s%P!<%8%g%s$r;XDj$7$F$$$^$9!%Dj5A:Q$N%3%s%P!<(B $B$i(B UTF-8 $B$KJQ49$9$k%3%s%P!<%8%g%s$r;XDj$7$F$$$^$9!%Dj5A:Q$N%3%s%P!<(B
......
...@@ -215,7 +215,7 @@ Multi-Language Support ...@@ -215,7 +215,7 @@ Multi-Language Support
* Optimize locale to have minimal performance impact when not used * Optimize locale to have minimal performance impact when not used
* Support multiple simultaneous character sets, per SQL92 * Support multiple simultaneous character sets, per SQL92
* Improve Unicode combined character handling (?) * Improve UTF8 combined character handling (?)
* Add octet_length_server() and octet_length_client() * Add octet_length_server() and octet_length_client()
* Make octet_length_client() the same as octet_length()? * Make octet_length_client() the same as octet_length()?
......
<!-- $PostgreSQL: pgsql/doc/src/sgml/charset.sgml,v 2.48 2005/01/04 00:05:44 momjian Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/charset.sgml,v 2.49 2005/03/07 04:30:48 momjian Exp $ -->
<chapter id="charset"> <chapter id="charset">
<title>Localization</> <title>Localization</>
...@@ -285,7 +285,7 @@ initdb --locale=sv_SE ...@@ -285,7 +285,7 @@ initdb --locale=sv_SE
allows you to store text in a variety of character sets, including allows you to store text in a variety of character sets, including
single-byte character sets such as the ISO 8859 series and single-byte character sets such as the ISO 8859 series and
multiple-byte character sets such as <acronym>EUC</> (Extended Unix multiple-byte character sets such as <acronym>EUC</> (Extended Unix
Code), Unicode, and Mule internal code. All character sets can be Code), UTF8, and Mule internal code. All character sets can be
used transparently throughout the server. (If you use extension used transparently throughout the server. (If you use extension
functions from other sources, it depends on whether they wrote functions from other sources, it depends on whether they wrote
their code correctly.) The default character set is selected while their code correctly.) The default character set is selected while
...@@ -339,8 +339,8 @@ initdb --locale=sv_SE ...@@ -339,8 +339,8 @@ initdb --locale=sv_SE
<entry>Taiwan <acronym>EUC</acronym></entry> <entry>Taiwan <acronym>EUC</acronym></entry>
</row> </row>
<row> <row>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry>Unicode (<acronym>UTF</acronym>-8)</entry> <entry>UTF-8 (Unicode, 8-bit)</entry>
</row> </row>
<row> <row>
<entry><literal>MULE_INTERNAL</literal></entry> <entry><literal>MULE_INTERNAL</literal></entry>
...@@ -407,7 +407,7 @@ initdb --locale=sv_SE ...@@ -407,7 +407,7 @@ initdb --locale=sv_SE
<entry><acronym>KOI</acronym>8-R(U)</entry> <entry><acronym>KOI</acronym>8-R(U)</entry>
</row> </row>
<row> <row>
<entry><literal>ALT</literal></entry> <entry><literal>WIN866</literal></entry>
<entry>Windows CP866</entry> <entry>Windows CP866</entry>
</row> </row>
<row> <row>
...@@ -419,7 +419,7 @@ initdb --locale=sv_SE ...@@ -419,7 +419,7 @@ initdb --locale=sv_SE
<entry>Windows CP1250</entry> <entry>Windows CP1250</entry>
</row> </row>
<row> <row>
<entry><literal>WIN</literal></entry> <entry><literal>WIN1251</literal></entry>
<entry>Windows CP1251</entry> <entry>Windows CP1251</entry>
</row> </row>
<row> <row>
...@@ -427,8 +427,8 @@ initdb --locale=sv_SE ...@@ -427,8 +427,8 @@ initdb --locale=sv_SE
<entry>Windows CP1256 (Arabic)</entry> <entry>Windows CP1256 (Arabic)</entry>
</row> </row>
<row> <row>
<entry><literal>TCVN</literal></entry> <entry><literal>WIN1258</literal></entry>
<entry><acronym>TCVN</>-5712/Windows CP1258 (Vietnamese)</entry> <entry>Windows CP1258 (Vietnamese)/<acronym>TCVN</>-5712</entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
...@@ -504,7 +504,7 @@ $ <userinput>psql -l</userinput> ...@@ -504,7 +504,7 @@ $ <userinput>psql -l</userinput>
regression | t-ishii | SQL_ASCII regression | t-ishii | SQL_ASCII
template1 | t-ishii | EUC_JP template1 | t-ishii | EUC_JP
test | t-ishii | EUC_JP test | t-ishii | EUC_JP
unicode | t-ishii | UNICODE utf8 | t-ishii | UTF8
(9 rows) (9 rows)
</screen> </screen>
</para> </para>
...@@ -561,126 +561,126 @@ $ <userinput>psql -l</userinput> ...@@ -561,126 +561,126 @@ $ <userinput>psql -l</userinput>
<tbody> <tbody>
<row> <row>
<entry><literal>SQL_ASCII</literal></entry> <entry><literal>SQL_ASCII</literal></entry>
<entry><literal>SQL_ASCII</literal>, <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> <entry><literal>SQL_ASCII</literal>, <literal>UTF8</literal>, <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>EUC_JP</literal></entry> <entry><literal>EUC_JP</literal></entry>
<entry><literal>EUC_JP</literal>, <literal>SJIS</literal>, <entry><literal>EUC_JP</literal>, <literal>SJIS</literal>,
<literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> <literal>UTF8</literal>, <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>EUC_CN</literal></entry> <entry><literal>EUC_CN</literal></entry>
<entry><literal>EUC_CN</literal>, <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> <entry><literal>EUC_CN</literal>, <literal>UTF8</literal>, <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>EUC_KR</literal></entry> <entry><literal>EUC_KR</literal></entry>
<entry><literal>EUC_KR</literal>, <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> <entry><literal>EUC_KR</literal>, <literal>UTF8</literal>, <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>JOHAB</literal></entry> <entry><literal>JOHAB</literal></entry>
<entry><literal>JOHAB</literal>, <literal>UNICODE</literal> <entry><literal>JOHAB</literal>, <literal>UTF8</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>EUC_TW</literal></entry> <entry><literal>EUC_TW</literal></entry>
<entry><literal>EUC_TW</literal>, <literal>BIG5</literal>, <entry><literal>EUC_TW</literal>, <literal>BIG5</literal>,
<literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> <literal>UTF8</literal>, <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>LATIN1</literal></entry> <entry><literal>LATIN1</literal></entry>
<entry><literal>LATIN1</literal>, <literal>UNICODE</literal> <entry><literal>LATIN1</literal>, <literal>UTF8</literal>
<literal>MULE_INTERNAL</literal> <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>LATIN2</literal></entry> <entry><literal>LATIN2</literal></entry>
<entry><literal>LATIN2</literal>, <literal>WIN1250</literal>, <entry><literal>LATIN2</literal>, <literal>WIN1250</literal>,
<literal>UNICODE</literal>, <literal>UTF8</literal>,
<literal>MULE_INTERNAL</literal> <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>LATIN3</literal></entry> <entry><literal>LATIN3</literal></entry>
<entry><literal>LATIN3</literal>, <literal>UNICODE</literal>, <entry><literal>LATIN3</literal>, <literal>UTF8</literal>,
<literal>MULE_INTERNAL</literal> <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>LATIN4</literal></entry> <entry><literal>LATIN4</literal></entry>
<entry><literal>LATIN4</literal>, <literal>UNICODE</literal>, <entry><literal>LATIN4</literal>, <literal>UTF8</literal>,
<literal>MULE_INTERNAL</literal> <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>LATIN5</literal></entry> <entry><literal>LATIN5</literal></entry>
<entry><literal>LATIN5</literal>, <literal>UNICODE</literal> <entry><literal>LATIN5</literal>, <literal>UTF8</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>LATIN6</literal></entry> <entry><literal>LATIN6</literal></entry>
<entry><literal>LATIN6</literal>, <literal>UNICODE</literal>, <entry><literal>LATIN6</literal>, <literal>UTF8</literal>,
<literal>MULE_INTERNAL</literal> <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>LATIN7</literal></entry> <entry><literal>LATIN7</literal></entry>
<entry><literal>LATIN7</literal>, <literal>UNICODE</literal>, <entry><literal>LATIN7</literal>, <literal>UTF8</literal>,
<literal>MULE_INTERNAL</literal> <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>LATIN8</literal></entry> <entry><literal>LATIN8</literal></entry>
<entry><literal>LATIN8</literal>, <literal>UNICODE</literal>, <entry><literal>LATIN8</literal>, <literal>UTF8</literal>,
<literal>MULE_INTERNAL</literal> <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>LATIN9</literal></entry> <entry><literal>LATIN9</literal></entry>
<entry><literal>LATIN9</literal>, <literal>UNICODE</literal>, <entry><literal>LATIN9</literal>, <literal>UTF8</literal>,
<literal>MULE_INTERNAL</literal> <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>LATIN10</literal></entry> <entry><literal>LATIN10</literal></entry>
<entry><literal>LATIN10</literal>, <literal>UNICODE</literal>, <entry><literal>LATIN10</literal>, <literal>UTF8</literal>,
<literal>MULE_INTERNAL</literal> <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>ISO_8859_5</literal></entry> <entry><literal>ISO_8859_5</literal></entry>
<entry><literal>ISO_8859_5</literal>, <entry><literal>ISO_8859_5</literal>,
<literal>UNICODE</literal>, <literal>UTF8</literal>,
<literal>MULE_INTERNAL</literal>, <literal>MULE_INTERNAL</literal>,
<literal>WIN</literal>, <literal>WIN1251</literal>,
<literal>ALT</literal>, <literal>WIN866</literal>,
<literal>KOI8</literal> <literal>KOI8</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>ISO_8859_6</literal></entry> <entry><literal>ISO_8859_6</literal></entry>
<entry><literal>ISO_8859_6</literal>, <entry><literal>ISO_8859_6</literal>,
<literal>UNICODE</literal> <literal>UTF8</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>ISO_8859_7</literal></entry> <entry><literal>ISO_8859_7</literal></entry>
<entry><literal>ISO_8859_7</literal>, <entry><literal>ISO_8859_7</literal>,
<literal>UNICODE</literal> <literal>UTF8</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>ISO_8859_8</literal></entry> <entry><literal>ISO_8859_8</literal></entry>
<entry><literal>ISO_8859_8</literal>, <entry><literal>ISO_8859_8</literal>,
<literal>UNICODE</literal> <literal>UTF8</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry> <entry>
<literal>EUC_JP</literal>, <literal>SJIS</literal>, <literal>EUC_JP</literal>, <literal>SJIS</literal>,
<literal>EUC_KR</literal>, <literal>UHC</literal>, <literal>JOHAB</literal>, <literal>EUC_KR</literal>, <literal>UHC</literal>, <literal>JOHAB</literal>,
...@@ -691,10 +691,10 @@ $ <userinput>psql -l</userinput> ...@@ -691,10 +691,10 @@ $ <userinput>psql -l</userinput>
<literal>ISO_8859_6</literal>, <literal>ISO_8859_6</literal>,
<literal>ISO_8859_7</literal>, <literal>ISO_8859_7</literal>,
<literal>ISO_8859_8</literal>, <literal>ISO_8859_8</literal>,
<literal>WIN</literal>, <literal>ALT</literal>, <literal>WIN1251</literal>, <literal>WIN866</literal>,
<literal>KOI8</literal>, <literal>KOI8</literal>,
<literal>WIN1256</literal>, <literal>WIN1256</literal>,
<literal>TCVN</literal>, <literal>WIN1258</literal>,
<literal>WIN874</literal>, <literal>WIN874</literal>,
<literal>GB18030</literal>, <literal>GB18030</literal>,
<literal>WIN1250</literal> <literal>WIN1250</literal>
...@@ -704,53 +704,53 @@ $ <userinput>psql -l</userinput> ...@@ -704,53 +704,53 @@ $ <userinput>psql -l</userinput>
<entry><literal>MULE_INTERNAL</literal></entry> <entry><literal>MULE_INTERNAL</literal></entry>
<entry><literal>EUC_JP</literal>, <literal>SJIS</literal>, <literal>EUC_KR</literal>, <literal>EUC_CN</literal>, <entry><literal>EUC_JP</literal>, <literal>SJIS</literal>, <literal>EUC_KR</literal>, <literal>EUC_CN</literal>,
<literal>EUC_TW</literal>, <literal>BIG5</literal>, <literal>LATIN1</literal> to <literal>LATIN5</literal>, <literal>EUC_TW</literal>, <literal>BIG5</literal>, <literal>LATIN1</literal> to <literal>LATIN5</literal>,
<literal>WIN</literal>, <literal>ALT</literal>, <literal>WIN1251</literal>, <literal>WIN866</literal>,
<literal>WIN1250</literal>, <literal>WIN1250</literal>,
<literal>BIG5</literal>, <literal>ISO_8859_5</literal>, <literal>KOI8</literal></entry> <literal>BIG5</literal>, <literal>ISO_8859_5</literal>, <literal>KOI8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>KOI8</literal></entry> <entry><literal>KOI8</literal></entry>
<entry><literal>ISO_8859_5</literal>, <literal>WIN</literal>, <entry><literal>ISO_8859_5</literal>, <literal>WIN1251</literal>,
<literal>ALT</literal>, <literal>KOI8</literal>, <literal>WIN866</literal>, <literal>KOI8</literal>,
<literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> <literal>UTF8</literal>, <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>ALT</literal></entry> <entry><literal>WIN866</literal></entry>
<entry><literal>ISO_8859_5</literal>, <literal>WIN</literal>, <entry><literal>ISO_8859_5</literal>, <literal>WIN1251</literal>,
<literal>ALT</literal>, <literal>KOI8</literal>, <literal>WIN866</literal>, <literal>KOI8</literal>,
<literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> <literal>UTF8</literal>, <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>WIN874</literal></entry> <entry><literal>WIN874</literal></entry>
<entry><literal>WIN874</literal>, <entry><literal>WIN874</literal>,
<literal>UNICODE</literal> <literal>UTF8</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>WIN1250</literal></entry> <entry><literal>WIN1250</literal></entry>
<entry><literal>LATIN2</literal>, <literal>WIN1250</literal>, <entry><literal>LATIN2</literal>, <literal>WIN1250</literal>,
<literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> <literal>UTF8</literal>, <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>WIN</literal></entry> <entry><literal>WIN1251</literal></entry>
<entry><literal>ISO_8859_5</literal>, <literal>WIN</literal>, <entry><literal>ISO_8859_5</literal>, <literal>WIN1251</literal>,
<literal>ALT</literal>, <literal>KOI8</literal>, <literal>WIN866</literal>, <literal>KOI8</literal>,
<literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> <literal>UTF8</literal>, <literal>MULE_INTERNAL</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>WIN1256</literal></entry> <entry><literal>WIN1256</literal></entry>
<entry><literal>WIN1256</literal>, <entry><literal>WIN1256</literal>,
<literal>UNICODE</literal> <literal>UTF8</literal>
</entry> </entry>
</row> </row>
<row> <row>
<entry><literal>TCVN</literal></entry> <entry><literal>WIN1258</literal></entry>
<entry><literal>TCVN</literal>, <entry><literal>WIN1258</literal>,
<literal>UNICODE</literal> <literal>UTF8</literal>
</entry> </entry>
</row> </row>
</tbody> </tbody>
......
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.239 2005/02/28 03:45:20 neilc Exp $ $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.240 2005/03/07 04:30:49 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -933,8 +933,8 @@ PostgreSQL documentation ...@@ -933,8 +933,8 @@ PostgreSQL documentation
linkend="conversion-names"> for available conversion linkend="conversion-names"> for available conversion
names. names.
</entry> </entry>
<entry><literal>convert('PostgreSQL' using iso_8859_1_to_utf_8)</literal></entry> <entry><literal>convert('PostgreSQL' using iso_8859_1_to_utf8)</literal></entry>
<entry><literal>'PostgreSQL'</literal> in Unicode (UTF-8) encoding</entry> <entry><literal>'PostgreSQL'</literal> in UTF8 (Unicode, 8-bit) encoding</entry>
</row> </row>
<row> <row>
...@@ -1105,8 +1105,8 @@ PostgreSQL documentation ...@@ -1105,8 +1105,8 @@ PostgreSQL documentation
<parameter>src_encoding</parameter> is omitted, database <parameter>src_encoding</parameter> is omitted, database
encoding is assumed. encoding is assumed.
</entry> </entry>
<entry><literal>convert( 'text_in_unicode', 'UNICODE', 'LATIN1')</literal></entry> <entry><literal>convert( 'text_in_utf8', 'UTF8', 'LATIN1')</literal></entry>
<entry><literal>text_in_unicode</literal> represented in ISO 8859-1 encoding</entry> <entry><literal>text_in_utf8</literal> represented in ISO 8859-1 encoding</entry>
</row> </row>
<row> <row>
...@@ -1421,9 +1421,9 @@ PostgreSQL documentation ...@@ -1421,9 +1421,9 @@ PostgreSQL documentation
</row> </row>
<row> <row>
<entry><literal>ascii_to_utf_8</literal></entry> <entry><literal>ascii_to_utf8</literal></entry>
<entry><literal>SQL_ASCII</literal></entry> <entry><literal>SQL_ASCII</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
...@@ -1439,9 +1439,9 @@ PostgreSQL documentation ...@@ -1439,9 +1439,9 @@ PostgreSQL documentation
</row> </row>
<row> <row>
<entry><literal>big5_to_utf_8</literal></entry> <entry><literal>big5_to_utf8</literal></entry>
<entry><literal>BIG5</literal></entry> <entry><literal>BIG5</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
...@@ -1451,9 +1451,9 @@ PostgreSQL documentation ...@@ -1451,9 +1451,9 @@ PostgreSQL documentation
</row> </row>
<row> <row>
<entry><literal>euc_cn_to_utf_8</literal></entry> <entry><literal>euc_cn_to_utf8</literal></entry>
<entry><literal>EUC_CN</literal></entry> <entry><literal>EUC_CN</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
...@@ -1469,9 +1469,9 @@ PostgreSQL documentation ...@@ -1469,9 +1469,9 @@ PostgreSQL documentation
</row> </row>
<row> <row>
<entry><literal>euc_jp_to_utf_8</literal></entry> <entry><literal>euc_jp_to_utf8</literal></entry>
<entry><literal>EUC_JP</literal></entry> <entry><literal>EUC_JP</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
...@@ -1481,9 +1481,9 @@ PostgreSQL documentation ...@@ -1481,9 +1481,9 @@ PostgreSQL documentation
</row> </row>
<row> <row>
<entry><literal>euc_kr_to_utf_8</literal></entry> <entry><literal>euc_kr_to_utf8</literal></entry>
<entry><literal>EUC_KR</literal></entry> <entry><literal>EUC_KR</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
...@@ -1499,51 +1499,51 @@ PostgreSQL documentation ...@@ -1499,51 +1499,51 @@ PostgreSQL documentation
</row> </row>
<row> <row>
<entry><literal>euc_tw_to_utf_8</literal></entry> <entry><literal>euc_tw_to_utf8</literal></entry>
<entry><literal>EUC_TW</literal></entry> <entry><literal>EUC_TW</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>gb18030_to_utf_8</literal></entry> <entry><literal>gb18030_to_utf8</literal></entry>
<entry><literal>GB18030</literal></entry> <entry><literal>GB18030</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>gbk_to_utf_8</literal></entry> <entry><literal>gbk_to_utf8</literal></entry>
<entry><literal>GBK</literal></entry> <entry><literal>GBK</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>iso_8859_10_to_utf_8</literal></entry> <entry><literal>iso_8859_10_to_utf8</literal></entry>
<entry><literal>LATIN6</literal></entry> <entry><literal>LATIN6</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>iso_8859_13_to_utf_8</literal></entry> <entry><literal>iso_8859_13_to_utf8</literal></entry>
<entry><literal>LATIN7</literal></entry> <entry><literal>LATIN7</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>iso_8859_14_to_utf_8</literal></entry> <entry><literal>iso_8859_14_to_utf8</literal></entry>
<entry><literal>LATIN8</literal></entry> <entry><literal>LATIN8</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>iso_8859_15_to_utf_8</literal></entry> <entry><literal>iso_8859_15_to_utf8</literal></entry>
<entry><literal>LATIN9</literal></entry> <entry><literal>LATIN9</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>iso_8859_16_to_utf_8</literal></entry> <entry><literal>iso_8859_16_to_utf8</literal></entry>
<entry><literal>LATIN10</literal></entry> <entry><literal>LATIN10</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
...@@ -1553,9 +1553,9 @@ PostgreSQL documentation ...@@ -1553,9 +1553,9 @@ PostgreSQL documentation
</row> </row>
<row> <row>
<entry><literal>iso_8859_1_to_utf_8</literal></entry> <entry><literal>iso_8859_1_to_utf8</literal></entry>
<entry><literal>LATIN1</literal></entry> <entry><literal>LATIN1</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
...@@ -1565,9 +1565,9 @@ PostgreSQL documentation ...@@ -1565,9 +1565,9 @@ PostgreSQL documentation
</row> </row>
<row> <row>
<entry><literal>iso_8859_2_to_utf_8</literal></entry> <entry><literal>iso_8859_2_to_utf8</literal></entry>
<entry><literal>LATIN2</literal></entry> <entry><literal>LATIN2</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
...@@ -1583,9 +1583,9 @@ PostgreSQL documentation ...@@ -1583,9 +1583,9 @@ PostgreSQL documentation
</row> </row>
<row> <row>
<entry><literal>iso_8859_3_to_utf_8</literal></entry> <entry><literal>iso_8859_3_to_utf8</literal></entry>
<entry><literal>LATIN3</literal></entry> <entry><literal>LATIN3</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
...@@ -1595,9 +1595,9 @@ PostgreSQL documentation ...@@ -1595,9 +1595,9 @@ PostgreSQL documentation
</row> </row>
<row> <row>
<entry><literal>iso_8859_4_to_utf_8</literal></entry> <entry><literal>iso_8859_4_to_utf8</literal></entry>
<entry><literal>LATIN4</literal></entry> <entry><literal>LATIN4</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
...@@ -1613,51 +1613,51 @@ PostgreSQL documentation ...@@ -1613,51 +1613,51 @@ PostgreSQL documentation
</row> </row>
<row> <row>
<entry><literal>iso_8859_5_to_utf_8</literal></entry> <entry><literal>iso_8859_5_to_utf8</literal></entry>
<entry><literal>ISO_8859_5</literal></entry> <entry><literal>ISO_8859_5</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>iso_8859_5_to_windows_1251</literal></entry> <entry><literal>iso_8859_5_to_windows_1251</literal></entry>
<entry><literal>ISO_8859_5</literal></entry> <entry><literal>ISO_8859_5</literal></entry>
<entry><literal>WIN</literal></entry> <entry><literal>WIN1251</literal></entry>
</row> </row>
<row> <row>
<entry><literal>iso_8859_5_to_windows_866</literal></entry> <entry><literal>iso_8859_5_to_windows_866</literal></entry>
<entry><literal>ISO_8859_5</literal></entry> <entry><literal>ISO_8859_5</literal></entry>
<entry><literal>ALT</literal></entry> <entry><literal>WIN866</literal></entry>
</row> </row>
<row> <row>
<entry><literal>iso_8859_6_to_utf_8</literal></entry> <entry><literal>iso_8859_6_to_utf8</literal></entry>
<entry><literal>ISO_8859_6</literal></entry> <entry><literal>ISO_8859_6</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>iso_8859_7_to_utf_8</literal></entry> <entry><literal>iso_8859_7_to_utf8</literal></entry>
<entry><literal>ISO_8859_7</literal></entry> <entry><literal>ISO_8859_7</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>iso_8859_8_to_utf_8</literal></entry> <entry><literal>iso_8859_8_to_utf8</literal></entry>
<entry><literal>ISO_8859_8</literal></entry> <entry><literal>ISO_8859_8</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>iso_8859_9_to_utf_8</literal></entry> <entry><literal>iso_8859_9_to_utf8</literal></entry>
<entry><literal>LATIN5</literal></entry> <entry><literal>LATIN5</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>johab_to_utf_8</literal></entry> <entry><literal>johab_to_utf8</literal></entry>
<entry><literal>JOHAB</literal></entry> <entry><literal>JOHAB</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
...@@ -1673,21 +1673,21 @@ PostgreSQL documentation ...@@ -1673,21 +1673,21 @@ PostgreSQL documentation
</row> </row>
<row> <row>
<entry><literal>koi8_r_to_utf_8</literal></entry> <entry><literal>koi8_r_to_utf8</literal></entry>
<entry><literal>KOI8</literal></entry> <entry><literal>KOI8</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>koi8_r_to_windows_1251</literal></entry> <entry><literal>koi8_r_to_windows_1251</literal></entry>
<entry><literal>KOI8</literal></entry> <entry><literal>KOI8</literal></entry>
<entry><literal>WIN</literal></entry> <entry><literal>WIN1251</literal></entry>
</row> </row>
<row> <row>
<entry><literal>koi8_r_to_windows_866</literal></entry> <entry><literal>koi8_r_to_windows_866</literal></entry>
<entry><literal>KOI8</literal></entry> <entry><literal>KOI8</literal></entry>
<entry><literal>ALT</literal></entry> <entry><literal>WIN866</literal></entry>
</row> </row>
<row> <row>
...@@ -1777,13 +1777,13 @@ PostgreSQL documentation ...@@ -1777,13 +1777,13 @@ PostgreSQL documentation
<row> <row>
<entry><literal>mic_to_windows_1251</literal></entry> <entry><literal>mic_to_windows_1251</literal></entry>
<entry><literal>MULE_INTERNAL</literal></entry> <entry><literal>MULE_INTERNAL</literal></entry>
<entry><literal>WIN</literal></entry> <entry><literal>WIN1251</literal></entry>
</row> </row>
<row> <row>
<entry><literal>mic_to_windows_866</literal></entry> <entry><literal>mic_to_windows_866</literal></entry>
<entry><literal>MULE_INTERNAL</literal></entry> <entry><literal>MULE_INTERNAL</literal></entry>
<entry><literal>ALT</literal></entry> <entry><literal>WIN866</literal></entry>
</row> </row>
<row> <row>
...@@ -1799,212 +1799,212 @@ PostgreSQL documentation ...@@ -1799,212 +1799,212 @@ PostgreSQL documentation
</row> </row>
<row> <row>
<entry><literal>sjis_to_utf_8</literal></entry> <entry><literal>sjis_to_utf8</literal></entry>
<entry><literal>SJIS</literal></entry> <entry><literal>SJIS</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>tcvn_to_utf_8</literal></entry> <entry><literal>tcvn_to_utf8</literal></entry>
<entry><literal>TCVN</literal></entry> <entry><literal>WIN1258</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>uhc_to_utf_8</literal></entry> <entry><literal>uhc_to_utf8</literal></entry>
<entry><literal>UHC</literal></entry> <entry><literal>UHC</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_ascii</literal></entry> <entry><literal>utf8_to_ascii</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>SQL_ASCII</literal></entry> <entry><literal>SQL_ASCII</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_big5</literal></entry> <entry><literal>utf8_to_big5</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>BIG5</literal></entry> <entry><literal>BIG5</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_euc_cn</literal></entry> <entry><literal>utf8_to_euc_cn</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>EUC_CN</literal></entry> <entry><literal>EUC_CN</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_euc_jp</literal></entry> <entry><literal>utf8_to_euc_jp</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>EUC_JP</literal></entry> <entry><literal>EUC_JP</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_euc_kr</literal></entry> <entry><literal>utf8_to_euc_kr</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>EUC_KR</literal></entry> <entry><literal>EUC_KR</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_euc_tw</literal></entry> <entry><literal>utf8_to_euc_tw</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>EUC_TW</literal></entry> <entry><literal>EUC_TW</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_gb18030</literal></entry> <entry><literal>utf8_to_gb18030</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>GB18030</literal></entry> <entry><literal>GB18030</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_gbk</literal></entry> <entry><literal>utf8_to_gbk</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>GBK</literal></entry> <entry><literal>GBK</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_iso_8859_1</literal></entry> <entry><literal>utf8_to_iso_8859_1</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>LATIN1</literal></entry> <entry><literal>LATIN1</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_iso_8859_10</literal></entry> <entry><literal>utf8_to_iso_8859_10</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>LATIN6</literal></entry> <entry><literal>LATIN6</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_iso_8859_13</literal></entry> <entry><literal>utf8_to_iso_8859_13</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>LATIN7</literal></entry> <entry><literal>LATIN7</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_iso_8859_14</literal></entry> <entry><literal>utf8_to_iso_8859_14</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>LATIN8</literal></entry> <entry><literal>LATIN8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_iso_8859_15</literal></entry> <entry><literal>utf8_to_iso_8859_15</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>LATIN9</literal></entry> <entry><literal>LATIN9</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_iso_8859_16</literal></entry> <entry><literal>utf8_to_iso_8859_16</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>LATIN10</literal></entry> <entry><literal>LATIN10</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_iso_8859_2</literal></entry> <entry><literal>utf8_to_iso_8859_2</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>LATIN2</literal></entry> <entry><literal>LATIN2</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_iso_8859_3</literal></entry> <entry><literal>utf8_to_iso_8859_3</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>LATIN3</literal></entry> <entry><literal>LATIN3</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_iso_8859_4</literal></entry> <entry><literal>utf8_to_iso_8859_4</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>LATIN4</literal></entry> <entry><literal>LATIN4</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_iso_8859_5</literal></entry> <entry><literal>utf8_to_iso_8859_5</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>ISO_8859_5</literal></entry> <entry><literal>ISO_8859_5</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_iso_8859_6</literal></entry> <entry><literal>utf8_to_iso_8859_6</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>ISO_8859_6</literal></entry> <entry><literal>ISO_8859_6</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_iso_8859_7</literal></entry> <entry><literal>utf8_to_iso_8859_7</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>ISO_8859_7</literal></entry> <entry><literal>ISO_8859_7</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_iso_8859_8</literal></entry> <entry><literal>utf8_to_iso_8859_8</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>ISO_8859_8</literal></entry> <entry><literal>ISO_8859_8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_iso_8859_9</literal></entry> <entry><literal>utf8_to_iso_8859_9</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>LATIN5</literal></entry> <entry><literal>LATIN5</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_johab</literal></entry> <entry><literal>utf8_to_johab</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>JOHAB</literal></entry> <entry><literal>JOHAB</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_koi8_r</literal></entry> <entry><literal>utf8_to_koi8_r</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>KOI8</literal></entry> <entry><literal>KOI8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_sjis</literal></entry> <entry><literal>utf8_to_sjis</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>SJIS</literal></entry> <entry><literal>SJIS</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_tcvn</literal></entry> <entry><literal>utf8_to_tcvn</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>TCVN</literal></entry> <entry><literal>WIN1258</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_uhc</literal></entry> <entry><literal>utf8_to_uhc</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>UHC</literal></entry> <entry><literal>UHC</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_windows_1250</literal></entry> <entry><literal>utf8_to_windows_1250</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>WIN1250</literal></entry> <entry><literal>WIN1250</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_windows_1251</literal></entry> <entry><literal>utf8_to_windows_1251</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>WIN</literal></entry> <entry><literal>WIN1251</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_windows_1256</literal></entry> <entry><literal>utf8_to_windows_1256</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>WIN1256</literal></entry> <entry><literal>WIN1256</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_windows_866</literal></entry> <entry><literal>utf8_to_windows_866</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>ALT</literal></entry> <entry><literal>WIN866</literal></entry>
</row> </row>
<row> <row>
<entry><literal>utf_8_to_windows_874</literal></entry> <entry><literal>utf8_to_windows_874</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
<entry><literal>WIN874</literal></entry> <entry><literal>WIN874</literal></entry>
</row> </row>
...@@ -2021,81 +2021,81 @@ PostgreSQL documentation ...@@ -2021,81 +2021,81 @@ PostgreSQL documentation
</row> </row>
<row> <row>
<entry><literal>windows_1250_to_utf_8</literal></entry> <entry><literal>windows_1250_to_utf8</literal></entry>
<entry><literal>WIN1250</literal></entry> <entry><literal>WIN1250</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>windows_1251_to_iso_8859_5</literal></entry> <entry><literal>windows_1251_to_iso_8859_5</literal></entry>
<entry><literal>WIN</literal></entry> <entry><literal>WIN1251</literal></entry>
<entry><literal>ISO_8859_5</literal></entry> <entry><literal>ISO_8859_5</literal></entry>
</row> </row>
<row> <row>
<entry><literal>windows_1251_to_koi8_r</literal></entry> <entry><literal>windows_1251_to_koi8_r</literal></entry>
<entry><literal>WIN</literal></entry> <entry><literal>WIN1251</literal></entry>
<entry><literal>KOI8</literal></entry> <entry><literal>KOI8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>windows_1251_to_mic</literal></entry> <entry><literal>windows_1251_to_mic</literal></entry>
<entry><literal>WIN</literal></entry> <entry><literal>WIN1251</literal></entry>
<entry><literal>MULE_INTERNAL</literal></entry> <entry><literal>MULE_INTERNAL</literal></entry>
</row> </row>
<row> <row>
<entry><literal>windows_1251_to_utf_8</literal></entry> <entry><literal>windows_1251_to_utf8</literal></entry>
<entry><literal>WIN</literal></entry> <entry><literal>WIN1251</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>windows_1251_to_windows_866</literal></entry> <entry><literal>windows_1251_to_windows_866</literal></entry>
<entry><literal>WIN</literal></entry> <entry><literal>WIN1251</literal></entry>
<entry><literal>ALT</literal></entry> <entry><literal>WIN866</literal></entry>
</row> </row>
<row> <row>
<entry><literal>windows_1256_to_utf_8</literal></entry> <entry><literal>windows_1256_to_utf8</literal></entry>
<entry><literal>WIN1256</literal></entry> <entry><literal>WIN1256</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>windows_866_to_iso_8859_5</literal></entry> <entry><literal>windows_866_to_iso_8859_5</literal></entry>
<entry><literal>ALT</literal></entry> <entry><literal>WIN866</literal></entry>
<entry><literal>ISO_8859_5</literal></entry> <entry><literal>ISO_8859_5</literal></entry>
</row> </row>
<row> <row>
<entry><literal>windows_866_to_koi8_r</literal></entry> <entry><literal>windows_866_to_koi8_r</literal></entry>
<entry><literal>ALT</literal></entry> <entry><literal>WIN866</literal></entry>
<entry><literal>KOI8</literal></entry> <entry><literal>KOI8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>windows_866_to_mic</literal></entry> <entry><literal>windows_866_to_mic</literal></entry>
<entry><literal>ALT</literal></entry> <entry><literal>WIN866</literal></entry>
<entry><literal>MULE_INTERNAL</literal></entry> <entry><literal>MULE_INTERNAL</literal></entry>
</row> </row>
<row> <row>
<entry><literal>windows_866_to_utf_8</literal></entry> <entry><literal>windows_866_to_utf8</literal></entry>
<entry><literal>ALT</literal></entry> <entry><literal>WIN866</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
<row> <row>
<entry><literal>windows_866_to_windows_1251</literal></entry> <entry><literal>windows_866_to_windows_1251</literal></entry>
<entry><literal>ALT</literal></entry> <entry><literal>WIN866</literal></entry>
<entry><literal>WIN</literal></entry> <entry><literal>WIN</literal></entry>
</row> </row>
<row> <row>
<entry><literal>windows_874_to_utf_8</literal></entry> <entry><literal>windows_874_to_utf8</literal></entry>
<entry><literal>WIN874</literal></entry> <entry><literal>WIN874</literal></entry>
<entry><literal>UNICODE</literal></entry> <entry><literal>UTF8</literal></entry>
</row> </row>
</tbody> </tbody>
...@@ -3372,7 +3372,7 @@ substring('foobar' from 'o(.)b') <lineannotation>o</lineannotation> ...@@ -3372,7 +3372,7 @@ substring('foobar' from 'o(.)b') <lineannotation>o</lineannotation>
<row> <row>
<entry> <literal>\u</><replaceable>wxyz</> </entry> <entry> <literal>\u</><replaceable>wxyz</> </entry>
<entry> (where <replaceable>wxyz</> is exactly four hexadecimal digits) <entry> (where <replaceable>wxyz</> is exactly four hexadecimal digits)
the Unicode character <literal>U+</><replaceable>wxyz</> the UTF16 (Unicode, 16-bit) character <literal>U+</><replaceable>wxyz</>
in the local byte ordering </entry> in the local byte ordering </entry>
</row> </row>
......
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_conversion.sgml,v 1.5 2004/06/25 21:55:50 tgl Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/alter_conversion.sgml,v 1.6 2005/03/07 04:30:51 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -72,18 +72,18 @@ ALTER CONVERSION <replaceable>name</replaceable> OWNER TO <replaceable>newowner< ...@@ -72,18 +72,18 @@ ALTER CONVERSION <replaceable>name</replaceable> OWNER TO <replaceable>newowner<
<title>Examples</title> <title>Examples</title>
<para> <para>
To rename the conversion <literal>iso_8859_1_to_utf_8</literal> to To rename the conversion <literal>iso_8859_1_to_utf8</literal> to
<literal>latin1_to_unicode</literal>: <literal>latin1_to_unicode</literal>:
<programlisting> <programlisting>
ALTER CONVERSION iso_8859_1_to_utf_8 RENAME TO latin1_to_unicode; ALTER CONVERSION iso_8859_1_to_utf8 RENAME TO latin1_to_unicode;
</programlisting> </programlisting>
</para> </para>
<para> <para>
To change the owner of the conversion <literal>iso_8859_1_to_utf_8</literal> to To change the owner of the conversion <literal>iso_8859_1_to_utf8</literal> to
<literal>joe</literal>: <literal>joe</literal>:
<programlisting> <programlisting>
ALTER CONVERSION iso_8859_1_to_utf_8 OWNER TO joe; ALTER CONVERSION iso_8859_1_to_utf8 OWNER TO joe;
</programlisting> </programlisting>
</para> </para>
</refsect1> </refsect1>
......
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/comment.sgml,v 1.26 2005/01/04 00:39:53 tgl Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/comment.sgml,v 1.27 2005/03/07 04:30:51 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
...@@ -195,7 +195,7 @@ COMMENT ON TABLE mytable IS NULL; ...@@ -195,7 +195,7 @@ COMMENT ON TABLE mytable IS NULL;
COMMENT ON AGGREGATE my_aggregate (double precision) IS 'Computes sample variance'; COMMENT ON AGGREGATE my_aggregate (double precision) IS 'Computes sample variance';
COMMENT ON CAST (text AS int4) IS 'Allow casts from text to int4'; COMMENT ON CAST (text AS int4) IS 'Allow casts from text to int4';
COMMENT ON COLUMN my_table.my_column IS 'Employee ID number'; COMMENT ON COLUMN my_table.my_column IS 'Employee ID number';
COMMENT ON CONVERSION my_conv IS 'Conversion to Unicode'; COMMENT ON CONVERSION my_conv IS 'Conversion to UTF8';
COMMENT ON DATABASE my_database IS 'Development Database'; COMMENT ON DATABASE my_database IS 'Development Database';
COMMENT ON DOMAIN my_domain IS 'Email Address Domain'; COMMENT ON DOMAIN my_domain IS 'Email Address Domain';
COMMENT ON FUNCTION my_function (timestamp) IS 'Returns Roman Numeral'; COMMENT ON FUNCTION my_function (timestamp) IS 'Returns Roman Numeral';
......
<!-- $PostgreSQL: pgsql/doc/src/sgml/ref/create_conversion.sgml,v 1.14 2003/11/29 19:51:38 pgsql Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/ref/create_conversion.sgml,v 1.15 2005/03/07 04:30:51 momjian Exp $ -->
<refentry id="SQL-CREATECONVERSION"> <refentry id="SQL-CREATECONVERSION">
<refmeta> <refmeta>
...@@ -136,10 +136,10 @@ conv_proc( ...@@ -136,10 +136,10 @@ conv_proc(
<title>Examples</title> <title>Examples</title>
<para> <para>
To create a conversion from encoding <literal>UNICODE</literal> to To create a conversion from encoding <literal>UTF8</literal> to
<literal>LATIN1</literal> using <function>myfunc</>: <literal>LATIN1</literal> using <function>myfunc</>:
<programlisting> <programlisting>
CREATE CONVERSION myconv FOR 'UNICODE' TO 'LATIN1' FROM myfunc; CREATE CONVERSION myconv FOR 'UTF8' TO 'LATIN1' FROM myfunc;
</programlisting> </programlisting>
</para> </para>
</refsect1> </refsect1>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/adt/selfuncs.c,v 1.172 2005/03/06 22:15:04 tgl Exp $ * $PostgreSQL: pgsql/src/backend/utils/adt/selfuncs.c,v 1.173 2005/03/07 04:30:51 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -4035,7 +4035,7 @@ pattern_selectivity(Const *patt, Pattern_Type ptype) ...@@ -4035,7 +4035,7 @@ pattern_selectivity(Const *patt, Pattern_Type ptype)
* *
* NOTE: at present this assumes we are in the C locale, so that simple * NOTE: at present this assumes we are in the C locale, so that simple
* bytewise comparison applies. However, we might be in a multibyte * bytewise comparison applies. However, we might be in a multibyte
* encoding such as UTF-8, so we do have to watch out for generating * encoding such as UTF8, so we do have to watch out for generating
* invalid encoding sequences. * invalid encoding sequences.
*/ */
Const * Const *
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# #
# Copyright (c) 2001-2005, PostgreSQL Global Development Group # Copyright (c) 2001-2005, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/Makefile,v 1.8 2005/01/01 20:44:18 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/Makefile,v 1.9 2005/03/07 04:30:52 momjian Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
...@@ -18,8 +18,8 @@ ISO8859MAPS=iso8859_2_to_utf8.map iso8859_3_to_utf8.map \ ...@@ -18,8 +18,8 @@ ISO8859MAPS=iso8859_2_to_utf8.map iso8859_3_to_utf8.map \
utf8_to_iso8859_4.map utf8_to_iso8859_5.map utf8_to_iso8859_4.map utf8_to_iso8859_5.map
CYRILLICMAPS=koi8r_to_utf8.map win1251_to_utf8.map alt_to_utf8.map\ CYRILLICMAPS=koi8r_to_utf8.map win1251_to_utf8.map win866_to_utf8.map\
utf8_to_koi8r.map utf8_to_win1251.map utf8_to_alt.map utf8_to_koi8r.map utf8_to_win1251.map utf8_to_win866.map
MAPS= $(ISO8859MAPS) $(CYRILLICMAPS)\ MAPS= $(ISO8859MAPS) $(CYRILLICMAPS)\
big5_to_utf8.map euc_cn_to_utf8.map euc_jp_to_utf8.map \ big5_to_utf8.map euc_cn_to_utf8.map euc_jp_to_utf8.map \
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Copyright (c) 2001-2005, PostgreSQL Global Development Group # Copyright (c) 2001-2005, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_8859.pl,v 1.7 2005/01/01 20:44:18 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_8859.pl,v 1.8 2005/03/07 04:30:52 momjian Exp $
# #
# Generate UTF-8 <--> ISO8859 code conversion tables from # Generate UTF-8 <--> ISO8859 code conversion tables from
# map files provided by Unicode organization. # map files provided by Unicode organization.
...@@ -39,7 +39,7 @@ foreach $charset (@charsets) { ...@@ -39,7 +39,7 @@ foreach $charset (@charsets) {
if( $code >= 0x80){ if( $code >= 0x80){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
...@@ -83,7 +83,7 @@ foreach $charset (@charsets) { ...@@ -83,7 +83,7 @@ foreach $charset (@charsets) {
if($code >= 0x80){ if($code >= 0x80){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Copyright (c) 2001-2005, PostgreSQL Global Development Group # Copyright (c) 2001-2005, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_BIG5.pl,v 1.6 2005/01/01 20:44:18 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_BIG5.pl,v 1.7 2005/03/07 04:30:52 momjian Exp $
# #
# Generate UTF-8 <--> BIG5 code conversion tables from # Generate UTF-8 <--> BIG5 code conversion tables from
# map files provided by Unicode organization. # map files provided by Unicode organization.
...@@ -35,7 +35,7 @@ while( <FILE> ){ ...@@ -35,7 +35,7 @@ while( <FILE> ){
if( $code >= 0x80 && $ucs >= 0x0080 ){ if( $code >= 0x80 && $ucs >= 0x0080 ){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Copyright (c) 2001-2005, PostgreSQL Global Development Group # Copyright (c) 2001-2005, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl,v 1.6 2005/01/01 20:44:18 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl,v 1.7 2005/03/07 04:30:52 momjian Exp $
# #
# Generate UTF-8 <--> EUC_CN code conversion tables from # Generate UTF-8 <--> EUC_CN code conversion tables from
# map files provided by Unicode organization. # map files provided by Unicode organization.
...@@ -35,7 +35,7 @@ while( <FILE> ){ ...@@ -35,7 +35,7 @@ while( <FILE> ){
if( $code >= 0x80 && $ucs >= 0x0080 ){ if( $code >= 0x80 && $ucs >= 0x0080 ){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Copyright (c) 2001-2005, PostgreSQL Global Development Group # Copyright (c) 2001-2005, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl,v 1.6 2005/01/01 20:44:18 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl,v 1.7 2005/03/07 04:30:52 momjian Exp $
# #
# Generate UTF-8 <--> EUC_JP code conversion tables from # Generate UTF-8 <--> EUC_JP code conversion tables from
# map files provided by Unicode organization. # map files provided by Unicode organization.
...@@ -51,7 +51,7 @@ while( <FILE> ){ ...@@ -51,7 +51,7 @@ while( <FILE> ){
if( $code >= 0x80 && $ucs >= 0x0080 ){ if( $code >= 0x80 && $ucs >= 0x0080 ){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
...@@ -80,7 +80,7 @@ while( <FILE> ){ ...@@ -80,7 +80,7 @@ while( <FILE> ){
if( $code >= 0x80 && $ucs >= 0x0080 ){ if( $code >= 0x80 && $ucs >= 0x0080 ){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
...@@ -108,7 +108,7 @@ while( <FILE> ){ ...@@ -108,7 +108,7 @@ while( <FILE> ){
if( $code >= 0x80 && $ucs >= 0x0080 ){ if( $code >= 0x80 && $ucs >= 0x0080 ){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Copyright (c) 2001-2005, PostgreSQL Global Development Group # Copyright (c) 2001-2005, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl,v 1.7 2005/01/01 20:44:18 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl,v 1.8 2005/03/07 04:30:52 momjian Exp $
# #
# Generate UTF-8 <--> EUC_KR code conversion tables from # Generate UTF-8 <--> EUC_KR code conversion tables from
# map files provided by Unicode organization. # map files provided by Unicode organization.
...@@ -35,7 +35,7 @@ while( <FILE> ){ ...@@ -35,7 +35,7 @@ while( <FILE> ){
if( $code >= 0x80 && $ucs >= 0x0080 ){ if( $code >= 0x80 && $ucs >= 0x0080 ){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Copyright (c) 2001-2005, PostgreSQL Global Development Group # Copyright (c) 2001-2005, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl,v 1.6 2005/01/01 20:44:18 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl,v 1.7 2005/03/07 04:30:52 momjian Exp $
# #
# Generate UTF-8 <--> EUC_TW code conversion tables from # Generate UTF-8 <--> EUC_TW code conversion tables from
# map files provided by Unicode organization. # map files provided by Unicode organization.
...@@ -36,7 +36,7 @@ while( <FILE> ){ ...@@ -36,7 +36,7 @@ while( <FILE> ){
if( $code >= 0x80 && $ucs >= 0x0080 ){ if( $code >= 0x80 && $ucs >= 0x0080 ){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Copyright 2002 by Bill Huang # Copyright 2002 by Bill Huang
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_GB18030.pl,v 1.4 2003/11/29 22:40:01 pgsql Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_GB18030.pl,v 1.5 2005/03/07 04:30:52 momjian Exp $
# #
# Generate UTF-8 <--> GB18030 code conversion tables from # Generate UTF-8 <--> GB18030 code conversion tables from
# map files provided by Unicode organization. # map files provided by Unicode organization.
...@@ -35,7 +35,7 @@ while( <FILE> ){ ...@@ -35,7 +35,7 @@ while( <FILE> ){
if( $code >= 0x80 && $ucs >= 0x0080 ){ if( $code >= 0x80 && $ucs >= 0x0080 ){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Copyright (c) 2001-2005, PostgreSQL Global Development Group # Copyright (c) 2001-2005, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_GBK.pl,v 1.5 2005/01/01 20:44:18 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_GBK.pl,v 1.6 2005/03/07 04:30:52 momjian Exp $
# #
# #
# Generate UTF-8 <--> GBK code conversion tables from # Generate UTF-8 <--> GBK code conversion tables from
...@@ -36,7 +36,7 @@ while( <FILE> ){ ...@@ -36,7 +36,7 @@ while( <FILE> ){
if( $code >= 0x80 && $ucs >= 0x0080 ){ if( $code >= 0x80 && $ucs >= 0x0080 ){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Copyright (c) 2001-2005, PostgreSQL Global Development Group # Copyright (c) 2001-2005, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_JOHAB.pl,v 1.5 2005/01/01 20:44:18 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_JOHAB.pl,v 1.6 2005/03/07 04:30:52 momjian Exp $
# #
# Generate UTF-8 <--> JOHAB code conversion tables from # Generate UTF-8 <--> JOHAB code conversion tables from
# map files provided by Unicode organization. # map files provided by Unicode organization.
...@@ -35,7 +35,7 @@ while( <FILE> ){ ...@@ -35,7 +35,7 @@ while( <FILE> ){
if( $code >= 0x80 && $ucs >= 0x0080 ){ if( $code >= 0x80 && $ucs >= 0x0080 ){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Copyright (c) 2001-2005, PostgreSQL Global Development Group # Copyright (c) 2001-2005, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_SJIS.pl,v 1.7 2005/01/01 20:44:18 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_SJIS.pl,v 1.8 2005/03/07 04:30:52 momjian Exp $
# #
# Generate UTF-8 <--> SJIS code conversion tables from # Generate UTF-8 <--> SJIS code conversion tables from
# map files provided by Unicode organization. # map files provided by Unicode organization.
...@@ -52,7 +52,7 @@ while( <FILE> ){ ...@@ -52,7 +52,7 @@ while( <FILE> ){
|| (( $code >= 0x879a ) || (( $code >= 0x879a )
&& ( $code <= 0x879c ))) && ( $code <= 0x879c )))
{ {
printf STDERR "Warning: duplicate unicode : UCS=0x%04x SJIS=0x%04x\n",$ucs,$code; printf STDERR "Warning: duplicate UTF8 : UCS=0x%04x SJIS=0x%04x\n",$ucs,$code;
next; next;
} }
$count++; $count++;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Copyright (c) 2001-2005, PostgreSQL Global Development Group # Copyright (c) 2001-2005, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_UHC.pl,v 1.5 2005/01/01 20:44:18 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_UHC.pl,v 1.6 2005/03/07 04:30:52 momjian Exp $
# #
# Generate UTF-8 <--> BIG5 code conversion tables from # Generate UTF-8 <--> BIG5 code conversion tables from
# map files provided by Unicode organization. # map files provided by Unicode organization.
...@@ -35,7 +35,7 @@ while( <FILE> ){ ...@@ -35,7 +35,7 @@ while( <FILE> ){
if( $code >= 0x80 && $ucs >= 0x0080 ){ if( $code >= 0x80 && $ucs >= 0x0080 ){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Copyright (c) 2001-2005, PostgreSQL Global Development Group # Copyright (c) 2001-2005, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_WIN874.pl,v 1.5 2005/01/01 20:44:18 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_WIN874.pl,v 1.6 2005/03/07 04:30:52 momjian Exp $
# #
# Generate UTF-8 <--> WIN874 code conversion tables from # Generate UTF-8 <--> WIN874 code conversion tables from
# map files provided by Unicode organization. # map files provided by Unicode organization.
...@@ -35,7 +35,7 @@ while( <FILE> ){ ...@@ -35,7 +35,7 @@ while( <FILE> ){
if( $code >= 0x80 && $ucs >= 0x0080 ){ if( $code >= 0x80 && $ucs >= 0x0080 ){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Copyright (c) 2001-2005, PostgreSQL Global Development Group # Copyright (c) 2001-2005, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_WINX.pl,v 1.5 2005/01/01 20:44:18 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_WINX.pl,v 1.6 2005/03/07 04:30:52 momjian Exp $
# #
# Generate UTF-8 <--> WINX code conversion tables from # Generate UTF-8 <--> WINX code conversion tables from
# map files provided by Unicode organization. # map files provided by Unicode organization.
...@@ -42,7 +42,7 @@ foreach $charset (@charsets) { ...@@ -42,7 +42,7 @@ foreach $charset (@charsets) {
if( $code >= 0x80){ if( $code >= 0x80){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
...@@ -86,7 +86,7 @@ foreach $charset (@charsets) { ...@@ -86,7 +86,7 @@ foreach $charset (@charsets) {
if($code >= 0x80){ if($code >= 0x80){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# Copyright (c) 2001-2005, PostgreSQL Global Development Group # Copyright (c) 2001-2005, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_cyrillic.pl,v 1.6 2005/01/01 20:44:18 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/Unicode/UCS_to_cyrillic.pl,v 1.7 2005/03/07 04:30:52 momjian Exp $
# #
# Generate UTF-8 <--> ISO8859 code conversion tables from # Generate UTF-8 <--> ISO8859 code conversion tables from
# map files provided by Unicode organization. # map files provided by Unicode organization.
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
require "ucs2utf.pl"; require "ucs2utf.pl";
%filename = ('KOI8R'=>'koi8-r.txt', %filename = ('KOI8R'=>'koi8-r.txt',
'WIN1251'=>'cp1251.txt', 'WIN1251'=>'cp1251.txt',
'ALT'=>'cp866.txt'); 'WIN866'=>'cp866.txt');
@charsets = ('KOI8R','ALT','WIN1251'); @charsets = ('KOI8R','WIN866','WIN1251');
foreach $charset (@charsets) { foreach $charset (@charsets) {
# #
...@@ -41,7 +41,7 @@ foreach $charset (@charsets) { ...@@ -41,7 +41,7 @@ foreach $charset (@charsets) {
if( $code >= 0x80){ if( $code >= 0x80){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
...@@ -85,7 +85,7 @@ foreach $charset (@charsets) { ...@@ -85,7 +85,7 @@ foreach $charset (@charsets) {
if($code >= 0x80){ if($code >= 0x80){
$utf = &ucs2utf($ucs); $utf = &ucs2utf($ucs);
if( $array{ $utf } ne "" ){ if( $array{ $utf } ne "" ){
printf STDERR "Warning: duplicate unicode: %04x\n",$ucs; printf STDERR "Warning: duplicate UTF8: %04x\n",$ucs;
next; next;
} }
$count++; $count++;
......
static pg_utf_to_local ULmapTCVN[ 120 ] = { static pg_utf_to_local ULmapWIN1258[ 120 ] = {
{0x0000, 0x0081}, {0x0000, 0x0081},
{0xc2a0, 0x00a0}, {0xc2a0, 0x00a0},
{0xc2a1, 0x00a1}, {0xc2a1, 0x00a1},
......
static pg_utf_to_local ULmap_ALT[ 128 ] = { static pg_utf_to_local ULmap_WIN866[ 128 ] = {
{0xc2a0, 0x00ff}, {0xc2a0, 0x00ff},
{0xc2a4, 0x00fd}, {0xc2a4, 0x00fd},
{0xc2b0, 0x00f8}, {0xc2b0, 0x00f8},
......
static pg_local_to_utf LUmapTCVN[ 128 ] = { static pg_local_to_utf LUmapWIN1258[ 128 ] = {
{0x0080, 0xe282ac}, {0x0080, 0xe282ac},
{0x0081, 0x0000}, {0x0081, 0x0000},
{0x0082, 0xe2809a}, {0x0082, 0xe2809a},
......
static pg_local_to_utf LUmapALT[ 128 ] = { static pg_local_to_utf LUmapWIN866[ 128 ] = {
{0x0080, 0xd090}, {0x0080, 0xd090},
{0x0081, 0xd091}, {0x0081, 0xd091},
{0x0082, 0xd092}, {0x0082, 0xd092},
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conv.c,v 1.51 2004/12/31 22:01:42 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conv.c,v 1.52 2005/03/07 04:30:52 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -303,7 +303,7 @@ mic2latin_with_table( ...@@ -303,7 +303,7 @@ mic2latin_with_table(
/* /*
* comparison routine for bsearch() * comparison routine for bsearch()
* this routine is intended for UTF-8 -> local code * this routine is intended for UTF8 -> local code
*/ */
static int static int
compare1(const void *p1, const void *p2) compare1(const void *p1, const void *p2)
...@@ -318,7 +318,7 @@ compare1(const void *p1, const void *p2) ...@@ -318,7 +318,7 @@ compare1(const void *p1, const void *p2)
/* /*
* comparison routine for bsearch() * comparison routine for bsearch()
* this routine is intended for local code -> UTF-8 * this routine is intended for local code -> UTF8
*/ */
static int static int
compare2(const void *p1, const void *p2) compare2(const void *p1, const void *p2)
...@@ -332,9 +332,9 @@ compare2(const void *p1, const void *p2) ...@@ -332,9 +332,9 @@ compare2(const void *p1, const void *p2)
} }
/* /*
* UTF-8 ---> local code * UTF8 ---> local code
* *
* utf: input UTF-8 string. Its length is limited by "len" parameter * utf: input UTF8 string. Its length is limited by "len" parameter
* or a null terminator. * or a null terminator.
* iso: pointer to the output. * iso: pointer to the output.
* map: the conversion map. * map: the conversion map.
...@@ -373,7 +373,7 @@ UtfToLocal(unsigned char *utf, unsigned char *iso, ...@@ -373,7 +373,7 @@ UtfToLocal(unsigned char *utf, unsigned char *iso,
{ {
ereport(WARNING, ereport(WARNING,
(errcode(ERRCODE_UNTRANSLATABLE_CHARACTER), (errcode(ERRCODE_UNTRANSLATABLE_CHARACTER),
errmsg("ignoring unconvertible UTF-8 character 0x%04x", errmsg("ignoring unconvertible UTF8 character 0x%04x",
iutf))); iutf)));
continue; continue;
} }
...@@ -390,7 +390,7 @@ UtfToLocal(unsigned char *utf, unsigned char *iso, ...@@ -390,7 +390,7 @@ UtfToLocal(unsigned char *utf, unsigned char *iso,
} }
/* /*
* local code ---> UTF-8 * local code ---> UTF8
*/ */
void void
LocalToUtf(unsigned char *iso, unsigned char *utf, LocalToUtf(unsigned char *iso, unsigned char *utf,
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# Makefile for utils/mb/conversion_procs # Makefile for utils/mb/conversion_procs
# #
# IDENTIFICATION # IDENTIFICATION
# $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/Makefile,v 1.11 2004/01/21 19:22:19 tgl Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/Makefile,v 1.12 2005/03/07 04:30:52 momjian Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
...@@ -23,7 +23,7 @@ DIRS = \ ...@@ -23,7 +23,7 @@ DIRS = \
utf8_and_ascii utf8_and_big5 utf8_and_cyrillic utf8_and_euc_cn \ utf8_and_ascii utf8_and_big5 utf8_and_cyrillic utf8_and_euc_cn \
utf8_and_euc_jp utf8_and_euc_kr utf8_and_euc_tw utf8_and_gb18030 \ utf8_and_euc_jp utf8_and_euc_kr utf8_and_euc_tw utf8_and_gb18030 \
utf8_and_gbk utf8_and_iso8859 utf8_and_iso8859_1 utf8_and_johab \ utf8_and_gbk utf8_and_iso8859 utf8_and_iso8859_1 utf8_and_johab \
utf8_and_sjis utf8_and_tcvn utf8_and_uhc utf8_and_win1250 \ utf8_and_sjis utf8_and_win1258 utf8_and_uhc utf8_and_win1250 \
utf8_and_win1256 utf8_and_win874 utf8_and_win1256 utf8_and_win874
# conversion_name source_encoding destination_encoding function object # conversion_name source_encoding destination_encoding function object
...@@ -36,20 +36,20 @@ CONVERSIONS = \ ...@@ -36,20 +36,20 @@ CONVERSIONS = \
mic_to_iso_8859_5 MULE_INTERNAL ISO-8859-5 mic_to_iso cyrillic_and_mic \ mic_to_iso_8859_5 MULE_INTERNAL ISO-8859-5 mic_to_iso cyrillic_and_mic \
windows_1251_to_mic WIN1251 MULE_INTERNAL win1251_to_mic cyrillic_and_mic \ windows_1251_to_mic WIN1251 MULE_INTERNAL win1251_to_mic cyrillic_and_mic \
mic_to_windows_1251 MULE_INTERNAL WIN1251 mic_to_win1251 cyrillic_and_mic \ mic_to_windows_1251 MULE_INTERNAL WIN1251 mic_to_win1251 cyrillic_and_mic \
windows_866_to_mic ALT MULE_INTERNAL alt_to_mic cyrillic_and_mic \ windows_866_to_mic WIN866 MULE_INTERNAL win866_to_mic cyrillic_and_mic \
mic_to_windows_866 MULE_INTERNAL ALT mic_to_alt cyrillic_and_mic \ mic_to_windows_866 MULE_INTERNAL WIN866 mic_to_win866 cyrillic_and_mic \
koi8_r_to_windows_1251 KOI8R WIN1251 koi8r_to_win1251 cyrillic_and_mic \ koi8_r_to_windows_1251 KOI8R WIN1251 koi8r_to_win1251 cyrillic_and_mic \
windows_1251_to_koi8_r WIN1251 KOI8R win1251_to_koi8r cyrillic_and_mic \ windows_1251_to_koi8_r WIN1251 KOI8R win1251_to_koi8r cyrillic_and_mic \
koi8_r_to_windows_866 KOI8R ALT koi8r_to_alt cyrillic_and_mic \ koi8_r_to_windows_866 KOI8R WIN866 koi8r_to_win866 cyrillic_and_mic \
windows_866_to_koi8_r ALT KOI8R alt_to_koi8r cyrillic_and_mic \ windows_866_to_koi8_r WIN866 KOI8R win866_to_koi8r cyrillic_and_mic \
windows_866_to_windows_1251 ALT WIN1251 alt_to_win1251 cyrillic_and_mic \ windows_866_to_windows_1251 WIN866 WIN1251 win866_to_win1251 cyrillic_and_mic \
windows_1251_to_windows_866 WIN1251 ALT win1251_to_alt cyrillic_and_mic \ windows_1251_to_windows_866 WIN1251 WIN866 win1251_to_win866 cyrillic_and_mic \
iso_8859_5_to_koi8_r ISO-8859-5 KOI8R iso_to_koi8r cyrillic_and_mic \ iso_8859_5_to_koi8_r ISO-8859-5 KOI8R iso_to_koi8r cyrillic_and_mic \
koi8_r_to_iso_8859_5 KOI8R ISO-8859-5 koi8r_to_iso cyrillic_and_mic \ koi8_r_to_iso_8859_5 KOI8R ISO-8859-5 koi8r_to_iso cyrillic_and_mic \
iso_8859_5_to_windows_1251 ISO-8859-5 WIN1251 iso_to_win1251 cyrillic_and_mic \ iso_8859_5_to_windows_1251 ISO-8859-5 WIN1251 iso_to_win1251 cyrillic_and_mic \
windows_1251_to_iso_8859_5 WIN1251 ISO-8859-5 win1251_to_iso cyrillic_and_mic \ windows_1251_to_iso_8859_5 WIN1251 ISO-8859-5 win1251_to_iso cyrillic_and_mic \
iso_8859_5_to_windows_866 ISO-8859-5 ALT iso_to_alt cyrillic_and_mic \ iso_8859_5_to_windows_866 ISO-8859-5 WIN866 iso_to_win866 cyrillic_and_mic \
windows_866_to_iso_8859_5 ALT ISO-8859-5 alt_to_iso cyrillic_and_mic \ windows_866_to_iso_8859_5 WIN866 ISO-8859-5 win866_to_iso cyrillic_and_mic \
euc_cn_to_mic EUC_CN MULE_INTERNAL euc_cn_to_mic euc_cn_and_mic \ euc_cn_to_mic EUC_CN MULE_INTERNAL euc_cn_to_mic euc_cn_and_mic \
mic_to_euc_cn MULE_INTERNAL EUC_CN mic_to_euc_cn euc_cn_and_mic \ mic_to_euc_cn MULE_INTERNAL EUC_CN mic_to_euc_cn euc_cn_and_mic \
euc_jp_to_sjis EUC_JP SJIS euc_jp_to_sjis euc_jp_and_sjis \ euc_jp_to_sjis EUC_JP SJIS euc_jp_to_sjis euc_jp_and_sjis \
...@@ -78,70 +78,70 @@ CONVERSIONS = \ ...@@ -78,70 +78,70 @@ CONVERSIONS = \
mic_to_iso_8859_3 MULE_INTERNAL LATIN3 mic_to_latin3 latin_and_mic \ mic_to_iso_8859_3 MULE_INTERNAL LATIN3 mic_to_latin3 latin_and_mic \
iso_8859_4_to_mic LATIN4 MULE_INTERNAL latin4_to_mic latin_and_mic \ iso_8859_4_to_mic LATIN4 MULE_INTERNAL latin4_to_mic latin_and_mic \
mic_to_iso_8859_4 MULE_INTERNAL LATIN4 mic_to_latin4 latin_and_mic \ mic_to_iso_8859_4 MULE_INTERNAL LATIN4 mic_to_latin4 latin_and_mic \
ascii_to_utf_8 SQL_ASCII UNICODE ascii_to_utf8 utf8_and_ascii \ ascii_to_utf8 SQL_ASCII UTF8 ascii_to_utf8 utf8_and_ascii \
utf_8_to_ascii UNICODE SQL_ASCII utf8_to_ascii utf8_and_ascii \ utf8_to_ascii UTF8 SQL_ASCII utf8_to_ascii utf8_and_ascii \
big5_to_utf_8 BIG5 UNICODE big5_to_utf8 utf8_and_big5 \ big5_to_utf8 BIG5 UTF8 big5_to_utf8 utf8_and_big5 \
utf_8_to_big5 UNICODE BIG5 utf8_to_big5 utf8_and_big5 \ utf8_to_big5 UTF8 BIG5 utf8_to_big5 utf8_and_big5 \
utf_8_to_koi8_r UNICODE KOI8R utf8_to_koi8r utf8_and_cyrillic \ utf8_to_koi8_r UTF8 KOI8R utf8_to_koi8r utf8_and_cyrillic \
koi8_r_to_utf_8 KOI8R UNICODE koi8r_to_utf8 utf8_and_cyrillic \ koi8_r_to_utf8 KOI8R UTF8 koi8r_to_utf8 utf8_and_cyrillic \
utf_8_to_windows_1251 UNICODE WIN1251 utf8_to_win1251 utf8_and_cyrillic \ utf8_to_windows_1251 UTF8 WIN1251 utf8_to_win1251 utf8_and_cyrillic \
windows_1251_to_utf_8 WIN1251 UNICODE win1251_to_utf8 utf8_and_cyrillic \ windows_1251_to_utf8 WIN1251 UTF8 win1251_to_utf8 utf8_and_cyrillic \
utf_8_to_windows_866 UNICODE ALT utf8_to_alt utf8_and_cyrillic \ utf8_to_windows_866 UTF8 WIN866 utf8_to_win866 utf8_and_cyrillic \
windows_866_to_utf_8 ALT UNICODE alt_to_utf8 utf8_and_cyrillic \ windows_866_to_utf8 WIN866 UTF8 win866_to_utf8 utf8_and_cyrillic \
euc_cn_to_utf_8 EUC_CN UNICODE euc_cn_to_utf8 utf8_and_euc_cn \ euc_cn_to_utf8 EUC_CN UTF8 euc_cn_to_utf8 utf8_and_euc_cn \
utf_8_to_euc_cn UNICODE EUC_CN utf8_to_euc_cn utf8_and_euc_cn \ utf8_to_euc_cn UTF8 EUC_CN utf8_to_euc_cn utf8_and_euc_cn \
euc_jp_to_utf_8 EUC_JP UNICODE euc_jp_to_utf8 utf8_and_euc_jp \ euc_jp_to_utf8 EUC_JP UTF8 euc_jp_to_utf8 utf8_and_euc_jp \
utf_8_to_euc_jp UNICODE EUC_JP utf8_to_euc_jp utf8_and_euc_jp \ utf8_to_euc_jp UTF8 EUC_JP utf8_to_euc_jp utf8_and_euc_jp \
euc_kr_to_utf_8 EUC_KR UNICODE euc_kr_to_utf8 utf8_and_euc_kr \ euc_kr_to_utf8 EUC_KR UTF8 euc_kr_to_utf8 utf8_and_euc_kr \
utf_8_to_euc_kr UNICODE EUC_KR utf8_to_euc_kr utf8_and_euc_kr \ utf8_to_euc_kr UTF8 EUC_KR utf8_to_euc_kr utf8_and_euc_kr \
euc_tw_to_utf_8 EUC_TW UNICODE euc_tw_to_utf8 utf8_and_euc_tw \ euc_tw_to_utf8 EUC_TW UTF8 euc_tw_to_utf8 utf8_and_euc_tw \
utf_8_to_euc_tw UNICODE EUC_TW utf8_to_euc_tw utf8_and_euc_tw \ utf8_to_euc_tw UTF8 EUC_TW utf8_to_euc_tw utf8_and_euc_tw \
gb18030_to_utf_8 GB18030 UNICODE gb18030_to_utf8 utf8_and_gb18030 \ gb18030_to_utf8 GB18030 UTF8 gb18030_to_utf8 utf8_and_gb18030 \
utf_8_to_gb18030 UNICODE GB18030 utf8_to_gb18030 utf8_and_gb18030 \ utf8_to_gb18030 UTF8 GB18030 utf8_to_gb18030 utf8_and_gb18030 \
gbk_to_utf_8 GBK UNICODE gbk_to_utf8 utf8_and_gbk \ gbk_to_utf8 GBK UTF8 gbk_to_utf8 utf8_and_gbk \
utf_8_to_gbk UNICODE GBK utf8_to_gbk utf8_and_gbk \ utf8_to_gbk UTF8 GBK utf8_to_gbk utf8_and_gbk \
utf_8_to_iso_8859_2 UNICODE LATIN2 utf8_to_iso8859 utf8_and_iso8859 \ utf8_to_iso_8859_2 UTF8 LATIN2 utf8_to_iso8859 utf8_and_iso8859 \
iso_8859_2_to_utf_8 LATIN2 UNICODE iso8859_to_utf8 utf8_and_iso8859 \ iso_8859_2_to_utf8 LATIN2 UTF8 iso8859_to_utf8 utf8_and_iso8859 \
utf_8_to_iso_8859_3 UNICODE LATIN3 utf8_to_iso8859 utf8_and_iso8859 \ utf8_to_iso_8859_3 UTF8 LATIN3 utf8_to_iso8859 utf8_and_iso8859 \
iso_8859_3_to_utf_8 LATIN3 UNICODE iso8859_to_utf8 utf8_and_iso8859 \ iso_8859_3_to_utf8 LATIN3 UTF8 iso8859_to_utf8 utf8_and_iso8859 \
utf_8_to_iso_8859_4 UNICODE LATIN4 utf8_to_iso8859 utf8_and_iso8859 \ utf8_to_iso_8859_4 UTF8 LATIN4 utf8_to_iso8859 utf8_and_iso8859 \
iso_8859_4_to_utf_8 LATIN4 UNICODE iso8859_to_utf8 utf8_and_iso8859 \ iso_8859_4_to_utf8 LATIN4 UTF8 iso8859_to_utf8 utf8_and_iso8859 \
utf_8_to_iso_8859_9 UNICODE LATIN5 utf8_to_iso8859 utf8_and_iso8859 \ utf8_to_iso_8859_9 UTF8 LATIN5 utf8_to_iso8859 utf8_and_iso8859 \
iso_8859_9_to_utf_8 LATIN5 UNICODE iso8859_to_utf8 utf8_and_iso8859 \ iso_8859_9_to_utf8 LATIN5 UTF8 iso8859_to_utf8 utf8_and_iso8859 \
utf_8_to_iso_8859_10 UNICODE LATIN6 utf8_to_iso8859 utf8_and_iso8859 \ utf8_to_iso_8859_10 UTF8 LATIN6 utf8_to_iso8859 utf8_and_iso8859 \
iso_8859_10_to_utf_8 LATIN6 UNICODE iso8859_to_utf8 utf8_and_iso8859 \ iso_8859_10_to_utf8 LATIN6 UTF8 iso8859_to_utf8 utf8_and_iso8859 \
utf_8_to_iso_8859_13 UNICODE LATIN7 utf8_to_iso8859 utf8_and_iso8859 \ utf8_to_iso_8859_13 UTF8 LATIN7 utf8_to_iso8859 utf8_and_iso8859 \
iso_8859_13_to_utf_8 LATIN7 UNICODE iso8859_to_utf8 utf8_and_iso8859 \ iso_8859_13_to_utf8 LATIN7 UTF8 iso8859_to_utf8 utf8_and_iso8859 \
utf_8_to_iso_8859_14 UNICODE LATIN8 utf8_to_iso8859 utf8_and_iso8859 \ utf8_to_iso_8859_14 UTF8 LATIN8 utf8_to_iso8859 utf8_and_iso8859 \
iso_8859_14_to_utf_8 LATIN8 UNICODE iso8859_to_utf8 utf8_and_iso8859 \ iso_8859_14_to_utf8 LATIN8 UTF8 iso8859_to_utf8 utf8_and_iso8859 \
utf_8_to_iso_8859_15 UNICODE LATIN9 utf8_to_iso8859 utf8_and_iso8859 \ utf8_to_iso_8859_15 UTF8 LATIN9 utf8_to_iso8859 utf8_and_iso8859 \
iso_8859_15_to_utf_8 LATIN9 UNICODE iso8859_to_utf8 utf8_and_iso8859 \ iso_8859_15_to_utf8 LATIN9 UTF8 iso8859_to_utf8 utf8_and_iso8859 \
utf_8_to_iso_8859_16 UNICODE LATIN10 utf8_to_iso8859 utf8_and_iso8859 \ utf8_to_iso_8859_16 UTF8 LATIN10 utf8_to_iso8859 utf8_and_iso8859 \
iso_8859_16_to_utf_8 LATIN10 UNICODE iso8859_to_utf8 utf8_and_iso8859 \ iso_8859_16_to_utf8 LATIN10 UTF8 iso8859_to_utf8 utf8_and_iso8859 \
utf_8_to_iso_8859_5 UNICODE ISO-8859-5 utf8_to_iso8859 utf8_and_iso8859 \ utf8_to_iso_8859_5 UTF8 ISO-8859-5 utf8_to_iso8859 utf8_and_iso8859 \
iso_8859_5_to_utf_8 ISO-8859-5 UNICODE iso8859_to_utf8 utf8_and_iso8859 \ iso_8859_5_to_utf8 ISO-8859-5 UTF8 iso8859_to_utf8 utf8_and_iso8859 \
utf_8_to_iso_8859_6 UNICODE ISO-8859-6 utf8_to_iso8859 utf8_and_iso8859 \ utf8_to_iso_8859_6 UTF8 ISO-8859-6 utf8_to_iso8859 utf8_and_iso8859 \
iso_8859_6_to_utf_8 ISO-8859-6 UNICODE iso8859_to_utf8 utf8_and_iso8859 \ iso_8859_6_to_utf8 ISO-8859-6 UTF8 iso8859_to_utf8 utf8_and_iso8859 \
utf_8_to_iso_8859_7 UNICODE ISO-8859-7 utf8_to_iso8859 utf8_and_iso8859 \ utf8_to_iso_8859_7 UTF8 ISO-8859-7 utf8_to_iso8859 utf8_and_iso8859 \
iso_8859_7_to_utf_8 ISO-8859-7 UNICODE iso8859_to_utf8 utf8_and_iso8859 \ iso_8859_7_to_utf8 ISO-8859-7 UTF8 iso8859_to_utf8 utf8_and_iso8859 \
utf_8_to_iso_8859_8 UNICODE ISO-8859-8 utf8_to_iso8859 utf8_and_iso8859 \ utf8_to_iso_8859_8 UTF8 ISO-8859-8 utf8_to_iso8859 utf8_and_iso8859 \
iso_8859_8_to_utf_8 ISO-8859-8 UNICODE iso8859_to_utf8 utf8_and_iso8859 \ iso_8859_8_to_utf8 ISO-8859-8 UTF8 iso8859_to_utf8 utf8_and_iso8859 \
iso_8859_1_to_utf_8 LATIN1 UNICODE iso8859_1_to_utf8 utf8_and_iso8859_1 \ iso_8859_1_to_utf8 LATIN1 UTF8 iso8859_1_to_utf8 utf8_and_iso8859_1 \
utf_8_to_iso_8859_1 UNICODE LATIN1 utf8_to_iso8859_1 utf8_and_iso8859_1 \ utf8_to_iso_8859_1 UTF8 LATIN1 utf8_to_iso8859_1 utf8_and_iso8859_1 \
johab_to_utf_8 JOHAB UNICODE johab_to_utf8 utf8_and_johab \ johab_to_utf8 JOHAB UTF8 johab_to_utf8 utf8_and_johab \
utf_8_to_johab UNICODE JOHAB utf8_to_johab utf8_and_johab \ utf8_to_johab UTF8 JOHAB utf8_to_johab utf8_and_johab \
sjis_to_utf_8 SJIS UNICODE sjis_to_utf8 utf8_and_sjis \ sjis_to_utf8 SJIS UTF8 sjis_to_utf8 utf8_and_sjis \
utf_8_to_sjis UNICODE SJIS utf8_to_sjis utf8_and_sjis \ utf8_to_sjis UTF8 SJIS utf8_to_sjis utf8_and_sjis \
tcvn_to_utf_8 TCVN UNICODE tcvn_to_utf8 utf8_and_tcvn \ win1258_to_utf8 WIN1258 UTF8 win1258_to_utf8 utf8_and_win1258 \
utf_8_to_tcvn UNICODE TCVN utf8_to_tcvn utf8_and_tcvn \ utf8_to_win1258 UTF8 WIN1258 utf8_to_win1258 utf8_and_win1258 \
uhc_to_utf_8 UHC UNICODE uhc_to_utf8 utf8_and_uhc \ uhc_to_utf8 UHC UTF8 uhc_to_utf8 utf8_and_uhc \
utf_8_to_uhc UNICODE UHC utf8_to_uhc utf8_and_uhc \ utf8_to_uhc UTF8 UHC utf8_to_uhc utf8_and_uhc \
utf_8_to_windows_1250 UNICODE WIN1250 utf_to_win1250 utf8_and_win1250 \ utf8_to_windows_1250 UTF8 WIN1250 utf_to_win1250 utf8_and_win1250 \
windows_1250_to_utf_8 WIN1250 UNICODE win1250_to_utf utf8_and_win1250 \ windows_1250_to_utf8 WIN1250 UTF8 win1250_to_utf utf8_and_win1250 \
utf_8_to_windows_1256 UNICODE WIN1256 utf_to_win1256 utf8_and_win1256 \ utf8_to_windows_1256 UTF8 WIN1256 utf_to_win1256 utf8_and_win1256 \
windows_1256_to_utf_8 WIN1256 UNICODE win1256_to_utf utf8_and_win1256 \ windows_1256_to_utf8 WIN1256 UTF8 win1256_to_utf utf8_and_win1256 \
utf_8_to_windows_874 UNICODE WIN874 utf_to_win874 utf8_and_win874 \ utf8_to_windows_874 UTF8 WIN874 utf_to_win874 utf8_and_win874 \
windows_874_to_utf_8 WIN874 UNICODE win874_to_utf utf8_and_win874 windows_874_to_utf8 WIN874 UTF8 win874_to_utf utf8_and_win874
all: $(SQLSCRIPT) all: $(SQLSCRIPT)
@for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/cyrillic_and_mic/cyrillic_and_mic.c,v 1.9 2004/12/31 22:01:48 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/cyrillic_and_mic/cyrillic_and_mic.c,v 1.10 2005/03/07 04:30:52 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -23,20 +23,20 @@ PG_FUNCTION_INFO_V1(iso_to_mic); ...@@ -23,20 +23,20 @@ PG_FUNCTION_INFO_V1(iso_to_mic);
PG_FUNCTION_INFO_V1(mic_to_iso); PG_FUNCTION_INFO_V1(mic_to_iso);
PG_FUNCTION_INFO_V1(win1251_to_mic); PG_FUNCTION_INFO_V1(win1251_to_mic);
PG_FUNCTION_INFO_V1(mic_to_win1251); PG_FUNCTION_INFO_V1(mic_to_win1251);
PG_FUNCTION_INFO_V1(alt_to_mic); PG_FUNCTION_INFO_V1(win866_to_mic);
PG_FUNCTION_INFO_V1(mic_to_alt); PG_FUNCTION_INFO_V1(mic_to_win866);
PG_FUNCTION_INFO_V1(koi8r_to_win1251); PG_FUNCTION_INFO_V1(koi8r_to_win1251);
PG_FUNCTION_INFO_V1(win1251_to_koi8r); PG_FUNCTION_INFO_V1(win1251_to_koi8r);
PG_FUNCTION_INFO_V1(koi8r_to_alt); PG_FUNCTION_INFO_V1(koi8r_to_win866);
PG_FUNCTION_INFO_V1(alt_to_koi8r); PG_FUNCTION_INFO_V1(win866_to_koi8r);
PG_FUNCTION_INFO_V1(alt_to_win1251); PG_FUNCTION_INFO_V1(win866_to_win1251);
PG_FUNCTION_INFO_V1(win1251_to_alt); PG_FUNCTION_INFO_V1(win1251_to_win866);
PG_FUNCTION_INFO_V1(iso_to_koi8r); PG_FUNCTION_INFO_V1(iso_to_koi8r);
PG_FUNCTION_INFO_V1(koi8r_to_iso); PG_FUNCTION_INFO_V1(koi8r_to_iso);
PG_FUNCTION_INFO_V1(iso_to_win1251); PG_FUNCTION_INFO_V1(iso_to_win1251);
PG_FUNCTION_INFO_V1(win1251_to_iso); PG_FUNCTION_INFO_V1(win1251_to_iso);
PG_FUNCTION_INFO_V1(iso_to_alt); PG_FUNCTION_INFO_V1(iso_to_win866);
PG_FUNCTION_INFO_V1(alt_to_iso); PG_FUNCTION_INFO_V1(win866_to_iso);
extern Datum koi8r_to_mic(PG_FUNCTION_ARGS); extern Datum koi8r_to_mic(PG_FUNCTION_ARGS);
extern Datum mic_to_koi8r(PG_FUNCTION_ARGS); extern Datum mic_to_koi8r(PG_FUNCTION_ARGS);
...@@ -44,20 +44,20 @@ extern Datum iso_to_mic(PG_FUNCTION_ARGS); ...@@ -44,20 +44,20 @@ extern Datum iso_to_mic(PG_FUNCTION_ARGS);
extern Datum mic_to_iso(PG_FUNCTION_ARGS); extern Datum mic_to_iso(PG_FUNCTION_ARGS);
extern Datum win1251_to_mic(PG_FUNCTION_ARGS); extern Datum win1251_to_mic(PG_FUNCTION_ARGS);
extern Datum mic_to_win1251(PG_FUNCTION_ARGS); extern Datum mic_to_win1251(PG_FUNCTION_ARGS);
extern Datum alt_to_mic(PG_FUNCTION_ARGS); extern Datum win866_to_mic(PG_FUNCTION_ARGS);
extern Datum mic_to_alt(PG_FUNCTION_ARGS); extern Datum mic_to_win866(PG_FUNCTION_ARGS);
extern Datum koi8r_to_win1251(PG_FUNCTION_ARGS); extern Datum koi8r_to_win1251(PG_FUNCTION_ARGS);
extern Datum win1251_to_koi8r(PG_FUNCTION_ARGS); extern Datum win1251_to_koi8r(PG_FUNCTION_ARGS);
extern Datum koi8r_to_alt(PG_FUNCTION_ARGS); extern Datum koi8r_to_win866(PG_FUNCTION_ARGS);
extern Datum alt_to_koi8r(PG_FUNCTION_ARGS); extern Datum win866_to_koi8r(PG_FUNCTION_ARGS);
extern Datum alt_to_win1251(PG_FUNCTION_ARGS); extern Datum win866_to_win1251(PG_FUNCTION_ARGS);
extern Datum win1251_to_alt(PG_FUNCTION_ARGS); extern Datum win1251_to_win866(PG_FUNCTION_ARGS);
extern Datum iso_to_koi8r(PG_FUNCTION_ARGS); extern Datum iso_to_koi8r(PG_FUNCTION_ARGS);
extern Datum koi8r_to_iso(PG_FUNCTION_ARGS); extern Datum koi8r_to_iso(PG_FUNCTION_ARGS);
extern Datum iso_to_win1251(PG_FUNCTION_ARGS); extern Datum iso_to_win1251(PG_FUNCTION_ARGS);
extern Datum win1251_to_iso(PG_FUNCTION_ARGS); extern Datum win1251_to_iso(PG_FUNCTION_ARGS);
extern Datum iso_to_alt(PG_FUNCTION_ARGS); extern Datum iso_to_win866(PG_FUNCTION_ARGS);
extern Datum alt_to_iso(PG_FUNCTION_ARGS); extern Datum win866_to_iso(PG_FUNCTION_ARGS);
/* ---------- /* ----------
* conv_proc( * conv_proc(
...@@ -76,8 +76,8 @@ static void iso2mic(unsigned char *l, unsigned char *p, int len); ...@@ -76,8 +76,8 @@ static void iso2mic(unsigned char *l, unsigned char *p, int len);
static void mic2iso(unsigned char *mic, unsigned char *p, int len); static void mic2iso(unsigned char *mic, unsigned char *p, int len);
static void win12512mic(unsigned char *l, unsigned char *p, int len); static void win12512mic(unsigned char *l, unsigned char *p, int len);
static void mic2win1251(unsigned char *mic, unsigned char *p, int len); static void mic2win1251(unsigned char *mic, unsigned char *p, int len);
static void alt2mic(unsigned char *l, unsigned char *p, int len); static void win8662mic(unsigned char *l, unsigned char *p, int len);
static void mic2alt(unsigned char *mic, unsigned char *p, int len); static void mic2win866(unsigned char *mic, unsigned char *p, int len);
Datum Datum
koi8r_to_mic(PG_FUNCTION_ARGS) koi8r_to_mic(PG_FUNCTION_ARGS)
...@@ -176,33 +176,33 @@ mic_to_win1251(PG_FUNCTION_ARGS) ...@@ -176,33 +176,33 @@ mic_to_win1251(PG_FUNCTION_ARGS)
} }
Datum Datum
alt_to_mic(PG_FUNCTION_ARGS) win866_to_mic(PG_FUNCTION_ARGS)
{ {
unsigned char *src = PG_GETARG_CSTRING(2); unsigned char *src = PG_GETARG_CSTRING(2);
unsigned char *dest = PG_GETARG_CSTRING(3); unsigned char *dest = PG_GETARG_CSTRING(3);
int len = PG_GETARG_INT32(4); int len = PG_GETARG_INT32(4);
Assert(PG_GETARG_INT32(0) == PG_ALT); Assert(PG_GETARG_INT32(0) == PG_WIN866);
Assert(PG_GETARG_INT32(1) == PG_MULE_INTERNAL); Assert(PG_GETARG_INT32(1) == PG_MULE_INTERNAL);
Assert(len >= 0); Assert(len >= 0);
alt2mic(src, dest, len); win8662mic(src, dest, len);
PG_RETURN_VOID(); PG_RETURN_VOID();
} }
Datum Datum
mic_to_alt(PG_FUNCTION_ARGS) mic_to_win866(PG_FUNCTION_ARGS)
{ {
unsigned char *src = PG_GETARG_CSTRING(2); unsigned char *src = PG_GETARG_CSTRING(2);
unsigned char *dest = PG_GETARG_CSTRING(3); unsigned char *dest = PG_GETARG_CSTRING(3);
int len = PG_GETARG_INT32(4); int len = PG_GETARG_INT32(4);
Assert(PG_GETARG_INT32(0) == PG_MULE_INTERNAL); Assert(PG_GETARG_INT32(0) == PG_MULE_INTERNAL);
Assert(PG_GETARG_INT32(1) == PG_ALT); Assert(PG_GETARG_INT32(1) == PG_WIN866);
Assert(len >= 0); Assert(len >= 0);
mic2alt(src, dest, len); mic2win866(src, dest, len);
PG_RETURN_VOID(); PG_RETURN_VOID();
} }
...@@ -248,7 +248,7 @@ win1251_to_koi8r(PG_FUNCTION_ARGS) ...@@ -248,7 +248,7 @@ win1251_to_koi8r(PG_FUNCTION_ARGS)
} }
Datum Datum
koi8r_to_alt(PG_FUNCTION_ARGS) koi8r_to_win866(PG_FUNCTION_ARGS)
{ {
unsigned char *src = PG_GETARG_CSTRING(2); unsigned char *src = PG_GETARG_CSTRING(2);
unsigned char *dest = PG_GETARG_CSTRING(3); unsigned char *dest = PG_GETARG_CSTRING(3);
...@@ -256,31 +256,31 @@ koi8r_to_alt(PG_FUNCTION_ARGS) ...@@ -256,31 +256,31 @@ koi8r_to_alt(PG_FUNCTION_ARGS)
unsigned char *buf; unsigned char *buf;
Assert(PG_GETARG_INT32(0) == PG_KOI8R); Assert(PG_GETARG_INT32(0) == PG_KOI8R);
Assert(PG_GETARG_INT32(1) == PG_ALT); Assert(PG_GETARG_INT32(1) == PG_WIN866);
Assert(len >= 0); Assert(len >= 0);
buf = palloc(len * ENCODING_GROWTH_RATE); buf = palloc(len * ENCODING_GROWTH_RATE);
koi8r2mic(src, buf, len); koi8r2mic(src, buf, len);
mic2alt(buf, dest, strlen(buf)); mic2win866(buf, dest, strlen(buf));
pfree(buf); pfree(buf);
PG_RETURN_VOID(); PG_RETURN_VOID();
} }
Datum Datum
alt_to_koi8r(PG_FUNCTION_ARGS) win866_to_koi8r(PG_FUNCTION_ARGS)
{ {
unsigned char *src = PG_GETARG_CSTRING(2); unsigned char *src = PG_GETARG_CSTRING(2);
unsigned char *dest = PG_GETARG_CSTRING(3); unsigned char *dest = PG_GETARG_CSTRING(3);
int len = PG_GETARG_INT32(4); int len = PG_GETARG_INT32(4);
unsigned char *buf; unsigned char *buf;
Assert(PG_GETARG_INT32(0) == PG_ALT); Assert(PG_GETARG_INT32(0) == PG_WIN866);
Assert(PG_GETARG_INT32(1) == PG_KOI8R); Assert(PG_GETARG_INT32(1) == PG_KOI8R);
Assert(len >= 0); Assert(len >= 0);
buf = palloc(len * ENCODING_GROWTH_RATE); buf = palloc(len * ENCODING_GROWTH_RATE);
alt2mic(src, buf, len); win8662mic(src, buf, len);
mic2koi8r(buf, dest, strlen(buf)); mic2koi8r(buf, dest, strlen(buf));
pfree(buf); pfree(buf);
...@@ -288,19 +288,19 @@ alt_to_koi8r(PG_FUNCTION_ARGS) ...@@ -288,19 +288,19 @@ alt_to_koi8r(PG_FUNCTION_ARGS)
} }
Datum Datum
alt_to_win1251(PG_FUNCTION_ARGS) win866_to_win1251(PG_FUNCTION_ARGS)
{ {
unsigned char *src = PG_GETARG_CSTRING(2); unsigned char *src = PG_GETARG_CSTRING(2);
unsigned char *dest = PG_GETARG_CSTRING(3); unsigned char *dest = PG_GETARG_CSTRING(3);
int len = PG_GETARG_INT32(4); int len = PG_GETARG_INT32(4);
unsigned char *buf; unsigned char *buf;
Assert(PG_GETARG_INT32(0) == PG_ALT); Assert(PG_GETARG_INT32(0) == PG_WIN866);
Assert(PG_GETARG_INT32(1) == PG_WIN1251); Assert(PG_GETARG_INT32(1) == PG_WIN1251);
Assert(len >= 0); Assert(len >= 0);
buf = palloc(len * ENCODING_GROWTH_RATE); buf = palloc(len * ENCODING_GROWTH_RATE);
alt2mic(src, buf, len); win8662mic(src, buf, len);
mic2win1251(buf, dest, strlen(buf)); mic2win1251(buf, dest, strlen(buf));
pfree(buf); pfree(buf);
...@@ -308,7 +308,7 @@ alt_to_win1251(PG_FUNCTION_ARGS) ...@@ -308,7 +308,7 @@ alt_to_win1251(PG_FUNCTION_ARGS)
} }
Datum Datum
win1251_to_alt(PG_FUNCTION_ARGS) win1251_to_win866(PG_FUNCTION_ARGS)
{ {
unsigned char *src = PG_GETARG_CSTRING(2); unsigned char *src = PG_GETARG_CSTRING(2);
unsigned char *dest = PG_GETARG_CSTRING(3); unsigned char *dest = PG_GETARG_CSTRING(3);
...@@ -316,12 +316,12 @@ win1251_to_alt(PG_FUNCTION_ARGS) ...@@ -316,12 +316,12 @@ win1251_to_alt(PG_FUNCTION_ARGS)
unsigned char *buf; unsigned char *buf;
Assert(PG_GETARG_INT32(0) == PG_WIN1251); Assert(PG_GETARG_INT32(0) == PG_WIN1251);
Assert(PG_GETARG_INT32(1) == PG_ALT); Assert(PG_GETARG_INT32(1) == PG_WIN866);
Assert(len >= 0); Assert(len >= 0);
buf = palloc(len * ENCODING_GROWTH_RATE); buf = palloc(len * ENCODING_GROWTH_RATE);
win12512mic(src, buf, len); win12512mic(src, buf, len);
mic2alt(buf, dest, strlen(buf)); mic2win866(buf, dest, strlen(buf));
pfree(buf); pfree(buf);
PG_RETURN_VOID(); PG_RETURN_VOID();
...@@ -408,7 +408,7 @@ win1251_to_iso(PG_FUNCTION_ARGS) ...@@ -408,7 +408,7 @@ win1251_to_iso(PG_FUNCTION_ARGS)
} }
Datum Datum
iso_to_alt(PG_FUNCTION_ARGS) iso_to_win866(PG_FUNCTION_ARGS)
{ {
unsigned char *src = PG_GETARG_CSTRING(2); unsigned char *src = PG_GETARG_CSTRING(2);
unsigned char *dest = PG_GETARG_CSTRING(3); unsigned char *dest = PG_GETARG_CSTRING(3);
...@@ -416,32 +416,32 @@ iso_to_alt(PG_FUNCTION_ARGS) ...@@ -416,32 +416,32 @@ iso_to_alt(PG_FUNCTION_ARGS)
unsigned char *buf; unsigned char *buf;
Assert(PG_GETARG_INT32(0) == PG_ISO_8859_5); Assert(PG_GETARG_INT32(0) == PG_ISO_8859_5);
Assert(PG_GETARG_INT32(1) == PG_ALT); Assert(PG_GETARG_INT32(1) == PG_WIN866);
Assert(len >= 0); Assert(len >= 0);
buf = palloc(len * ENCODING_GROWTH_RATE); buf = palloc(len * ENCODING_GROWTH_RATE);
iso2mic(src, buf, len); iso2mic(src, buf, len);
mic2alt(buf, dest, strlen(buf)); mic2win866(buf, dest, strlen(buf));
pfree(buf); pfree(buf);
PG_RETURN_VOID(); PG_RETURN_VOID();
} }
Datum Datum
alt_to_iso(PG_FUNCTION_ARGS) win866_to_iso(PG_FUNCTION_ARGS)
{ {
unsigned char *src = PG_GETARG_CSTRING(2); unsigned char *src = PG_GETARG_CSTRING(2);
unsigned char *dest = PG_GETARG_CSTRING(3); unsigned char *dest = PG_GETARG_CSTRING(3);
int len = PG_GETARG_INT32(4); int len = PG_GETARG_INT32(4);
unsigned char *buf; unsigned char *buf;
Assert(PG_GETARG_INT32(0) == PG_ALT); Assert(PG_GETARG_INT32(0) == PG_WIN866);
Assert(PG_GETARG_INT32(1) == PG_ISO_8859_5); Assert(PG_GETARG_INT32(1) == PG_ISO_8859_5);
Assert(len >= 0); Assert(len >= 0);
buf = palloc(len * ENCODING_GROWTH_RATE); buf = palloc(len * ENCODING_GROWTH_RATE);
alt2mic(src, buf, len); win8662mic(src, buf, len);
mic2alt(buf, dest, strlen(buf)); mic2win866(buf, dest, strlen(buf));
pfree(buf); pfree(buf);
PG_RETURN_VOID(); PG_RETURN_VOID();
...@@ -576,11 +576,11 @@ mic2win1251(unsigned char *mic, unsigned char *p, int len) ...@@ -576,11 +576,11 @@ mic2win1251(unsigned char *mic, unsigned char *p, int len)
mic2latin_with_table(mic, p, len, LC_KOI8_R, koi2win); mic2latin_with_table(mic, p, len, LC_KOI8_R, koi2win);
} }
/* alt2mic: CP866 to Mule internal code */ /* win8662mic: CP866 to Mule internal code */
static void static void
alt2mic(unsigned char *l, unsigned char *p, int len) win8662mic(unsigned char *l, unsigned char *p, int len)
{ {
static unsigned char alt2koi[] = { static unsigned char win8662koi[] = {
0xe1, 0xe2, 0xf7, 0xe7, 0xe4, 0xe5, 0xf6, 0xfa, 0xe1, 0xe2, 0xf7, 0xe7, 0xe4, 0xe5, 0xf6, 0xfa,
0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0,
0xf2, 0xf3, 0xf4, 0xf5, 0xe6, 0xe8, 0xe3, 0xfe, 0xf2, 0xf3, 0xf4, 0xf5, 0xe6, 0xe8, 0xe3, 0xfe,
...@@ -599,14 +599,14 @@ alt2mic(unsigned char *l, unsigned char *p, int len) ...@@ -599,14 +599,14 @@ alt2mic(unsigned char *l, unsigned char *p, int len)
0xb6, 0xa6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0xb6, 0xa6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}; };
latin2mic_with_table(l, p, len, LC_KOI8_R, alt2koi); latin2mic_with_table(l, p, len, LC_KOI8_R, win8662koi);
} }
/* mic2alt: Mule internal code to CP866 */ /* mic2win866: Mule internal code to CP866 */
static void static void
mic2alt(unsigned char *mic, unsigned char *p, int len) mic2win866(unsigned char *mic, unsigned char *p, int len)
{ {
static unsigned char koi2alt[] = { static unsigned char koi2win866[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
...@@ -625,5 +625,5 @@ mic2alt(unsigned char *mic, unsigned char *p, int len) ...@@ -625,5 +625,5 @@ mic2alt(unsigned char *mic, unsigned char *p, int len)
0x9c, 0x9b, 0x87, 0x98, 0x9d, 0x99, 0x97, 0x9a 0x9c, 0x9b, 0x87, 0x98, 0x9d, 0x99, 0x97, 0x9a
}; };
mic2latin_with_table(mic, p, len, LC_KOI8_R, koi2alt); mic2latin_with_table(mic, p, len, LC_KOI8_R, koi2win866);
} }
...@@ -3,19 +3,19 @@ ...@@ -3,19 +3,19 @@
-- --
CREATE USER conversion_test_user WITH NOCREATEDB NOCREATEUSER; CREATE USER conversion_test_user WITH NOCREATEDB NOCREATEUSER;
SET SESSION AUTHORIZATION conversion_test_user; SET SESSION AUTHORIZATION conversion_test_user;
CREATE CONVERSION myconv FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; CREATE CONVERSION myconv FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
-- --
-- cannot make same name conversion in same schema -- cannot make same name conversion in same schema
-- --
CREATE CONVERSION myconv FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; CREATE CONVERSION myconv FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
-- --
-- create default conversion with qualified name -- create default conversion with qualified name
-- --
CREATE DEFAULT CONVERSION public.mydef FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; 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 -- cannot make default conversion with same shcema/for_encoding/to_encoding
-- --
CREATE DEFAULT CONVERSION public.mydef2 FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; CREATE DEFAULT CONVERSION public.mydef2 FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
-- --
-- drop user defined conversion -- drop user defined conversion
-- --
......
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* ASCII <--> UTF-8 * ASCII <--> UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_ascii/utf8_and_ascii.c,v 1.9 2004/12/31 22:02:11 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_ascii/utf8_and_ascii.c,v 1.10 2005/03/07 04:30:52 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* BIG5 <--> UTF-8 * BIG5 <--> UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_big5/utf8_and_big5.c,v 1.9 2004/12/31 22:02:13 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_big5/utf8_and_big5.c,v 1.10 2005/03/07 04:30:53 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_cyrillic/utf8_and_cyrillic.c,v 1.9 2004/12/31 22:02:14 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_cyrillic/utf8_and_cyrillic.c,v 1.10 2005/03/07 04:30:53 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -18,22 +18,22 @@ ...@@ -18,22 +18,22 @@
#include "../../Unicode/koi8r_to_utf8.map" #include "../../Unicode/koi8r_to_utf8.map"
#include "../../Unicode/utf8_to_win1251.map" #include "../../Unicode/utf8_to_win1251.map"
#include "../../Unicode/win1251_to_utf8.map" #include "../../Unicode/win1251_to_utf8.map"
#include "../../Unicode/utf8_to_alt.map" #include "../../Unicode/utf8_to_win866.map"
#include "../../Unicode/alt_to_utf8.map" #include "../../Unicode/win866_to_utf8.map"
PG_FUNCTION_INFO_V1(utf8_to_koi8r); PG_FUNCTION_INFO_V1(utf8_to_koi8r);
PG_FUNCTION_INFO_V1(koi8r_to_utf8); PG_FUNCTION_INFO_V1(koi8r_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_win1251); PG_FUNCTION_INFO_V1(utf8_to_win1251);
PG_FUNCTION_INFO_V1(win1251_to_utf8); PG_FUNCTION_INFO_V1(win1251_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_alt); PG_FUNCTION_INFO_V1(utf8_to_win866);
PG_FUNCTION_INFO_V1(alt_to_utf8); PG_FUNCTION_INFO_V1(win866_to_utf8);
extern Datum utf8_to_koi8r(PG_FUNCTION_ARGS); extern Datum utf8_to_koi8r(PG_FUNCTION_ARGS);
extern Datum koi8r_to_utf8(PG_FUNCTION_ARGS); extern Datum koi8r_to_utf8(PG_FUNCTION_ARGS);
extern Datum utf8_to_win1251(PG_FUNCTION_ARGS); extern Datum utf8_to_win1251(PG_FUNCTION_ARGS);
extern Datum win1251_to_utf8(PG_FUNCTION_ARGS); extern Datum win1251_to_utf8(PG_FUNCTION_ARGS);
extern Datum utf8_to_alt(PG_FUNCTION_ARGS); extern Datum utf8_to_win866(PG_FUNCTION_ARGS);
extern Datum alt_to_utf8(PG_FUNCTION_ARGS); extern Datum win866_to_utf8(PG_FUNCTION_ARGS);
/* ---------- /* ----------
* conv_proc( * conv_proc(
...@@ -115,35 +115,35 @@ win1251_to_utf8(PG_FUNCTION_ARGS) ...@@ -115,35 +115,35 @@ win1251_to_utf8(PG_FUNCTION_ARGS)
} }
Datum Datum
utf8_to_alt(PG_FUNCTION_ARGS) utf8_to_win866(PG_FUNCTION_ARGS)
{ {
unsigned char *src = PG_GETARG_CSTRING(2); unsigned char *src = PG_GETARG_CSTRING(2);
unsigned char *dest = PG_GETARG_CSTRING(3); unsigned char *dest = PG_GETARG_CSTRING(3);
int len = PG_GETARG_INT32(4); int len = PG_GETARG_INT32(4);
Assert(PG_GETARG_INT32(0) == PG_UTF8); Assert(PG_GETARG_INT32(0) == PG_UTF8);
Assert(PG_GETARG_INT32(1) == PG_ALT); Assert(PG_GETARG_INT32(1) == PG_WIN866);
Assert(len >= 0); Assert(len >= 0);
UtfToLocal(src, dest, ULmap_ALT, UtfToLocal(src, dest, ULmap_WIN866,
sizeof(ULmap_ALT) / sizeof(pg_utf_to_local), len); sizeof(ULmap_WIN866) / sizeof(pg_utf_to_local), len);
PG_RETURN_VOID(); PG_RETURN_VOID();
} }
Datum Datum
alt_to_utf8(PG_FUNCTION_ARGS) win866_to_utf8(PG_FUNCTION_ARGS)
{ {
unsigned char *src = PG_GETARG_CSTRING(2); unsigned char *src = PG_GETARG_CSTRING(2);
unsigned char *dest = PG_GETARG_CSTRING(3); unsigned char *dest = PG_GETARG_CSTRING(3);
int len = PG_GETARG_INT32(4); int len = PG_GETARG_INT32(4);
Assert(PG_GETARG_INT32(0) == PG_ALT); Assert(PG_GETARG_INT32(0) == PG_WIN866);
Assert(PG_GETARG_INT32(1) == PG_UTF8); Assert(PG_GETARG_INT32(1) == PG_UTF8);
Assert(len >= 0); Assert(len >= 0);
LocalToUtf(src, dest, LUmapALT, LocalToUtf(src, dest, LUmapWIN866,
sizeof(LUmapALT) / sizeof(pg_local_to_utf), PG_ALT, len); sizeof(LUmapWIN866) / sizeof(pg_local_to_utf), PG_WIN866, len);
PG_RETURN_VOID(); PG_RETURN_VOID();
} }
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* EUC_CN <--> UTF-8 * EUC_CN <--> UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_euc_cn/utf8_and_euc_cn.c,v 1.9 2004/12/31 22:02:16 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_euc_cn/utf8_and_euc_cn.c,v 1.10 2005/03/07 04:30:53 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* EUC_JP <--> UTF-8 * EUC_JP <--> UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_euc_jp/utf8_and_euc_jp.c,v 1.9 2004/12/31 22:02:17 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_euc_jp/utf8_and_euc_jp.c,v 1.10 2005/03/07 04:30:53 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* EUC_KR <--> UTF-8 * EUC_KR <--> UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_euc_kr/utf8_and_euc_kr.c,v 1.9 2004/12/31 22:02:19 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_euc_kr/utf8_and_euc_kr.c,v 1.10 2005/03/07 04:30:53 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* EUC_TW <--> UTF-8 * EUC_TW <--> UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_euc_tw/utf8_and_euc_tw.c,v 1.9 2004/12/31 22:02:20 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_euc_tw/utf8_and_euc_tw.c,v 1.10 2005/03/07 04:30:53 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* GB18030 <--> UTF-8 * GB18030 <--> UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_gb18030/utf8_and_gb18030.c,v 1.9 2004/12/31 22:02:23 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_gb18030/utf8_and_gb18030.c,v 1.10 2005/03/07 04:30:53 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* GBK <--> UTF-8 * GBK <--> UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_gbk/utf8_and_gbk.c,v 1.9 2004/12/31 22:02:26 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_gbk/utf8_and_gbk.c,v 1.10 2005/03/07 04:30:53 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* ISO 8859 2-16 <--> UTF-8 * ISO 8859 2-16 <--> UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c,v 1.11 2004/12/31 22:02:27 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c,v 1.12 2005/03/07 04:30:54 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -61,8 +61,8 @@ extern Datum utf8_to_iso8859(PG_FUNCTION_ARGS); ...@@ -61,8 +61,8 @@ extern Datum utf8_to_iso8859(PG_FUNCTION_ARGS);
typedef struct typedef struct
{ {
pg_enc encoding; pg_enc encoding;
pg_local_to_utf *map1; /* to UTF-8 map name */ pg_local_to_utf *map1; /* to UTF8 map name */
pg_utf_to_local *map2; /* from UTF-8 map name */ pg_utf_to_local *map2; /* from UTF8 map name */
int size1; /* size of map1 */ int size1; /* size of map1 */
int size2; /* size of map2 */ int size2; /* size of map2 */
} pg_conv_map; } pg_conv_map;
...@@ -74,7 +74,7 @@ static pg_conv_map maps[] = { ...@@ -74,7 +74,7 @@ static pg_conv_map maps[] = {
{PG_EUC_KR}, /* EUC for Korean */ {PG_EUC_KR}, /* EUC for Korean */
{PG_EUC_TW}, /* EUC for Taiwan */ {PG_EUC_TW}, /* EUC for Taiwan */
{PG_JOHAB}, /* EUC for Korean JOHAB */ {PG_JOHAB}, /* EUC for Korean JOHAB */
{PG_UTF8}, /* Unicode UTF-8 */ {PG_UTF8}, /* Unicode UTF8 */
{PG_MULE_INTERNAL}, /* Mule internal code */ {PG_MULE_INTERNAL}, /* Mule internal code */
{PG_LATIN1}, /* ISO-8859-1 Latin 1 */ {PG_LATIN1}, /* ISO-8859-1 Latin 1 */
{PG_LATIN2, LUmapISO8859_2, ULmapISO8859_2, {PG_LATIN2, LUmapISO8859_2, ULmapISO8859_2,
...@@ -105,11 +105,11 @@ static pg_conv_map maps[] = { ...@@ -105,11 +105,11 @@ static pg_conv_map maps[] = {
sizeof(LUmapISO8859_16) / sizeof(pg_local_to_utf), sizeof(LUmapISO8859_16) / sizeof(pg_local_to_utf),
sizeof(ULmapISO8859_16) / sizeof(pg_utf_to_local)}, /* ISO-8859-16 Latin 10 */ sizeof(ULmapISO8859_16) / sizeof(pg_utf_to_local)}, /* ISO-8859-16 Latin 10 */
{PG_WIN1256}, /* windows-1256 */ {PG_WIN1256}, /* windows-1256 */
{PG_TCVN}, /* TCVN (Windows-1258) */ {PG_WIN1258}, /* Windows-1258 */
{PG_WIN874}, /* windows-874 */ {PG_WIN874}, /* windows-874 */
{PG_KOI8R}, /* KOI8-R */ {PG_KOI8R}, /* KOI8-R */
{PG_WIN1251}, /* windows-1251 (was: WIN) */ {PG_WIN1251}, /* windows-1251 (was: WIN) */
{PG_ALT}, /* (MS-DOS CP866) */ {PG_WIN866}, /* (MS-DOS CP866) */
{PG_ISO_8859_5, LUmapISO8859_5, ULmapISO8859_5, {PG_ISO_8859_5, LUmapISO8859_5, ULmapISO8859_5,
sizeof(LUmapISO8859_5) / sizeof(pg_local_to_utf), sizeof(LUmapISO8859_5) / sizeof(pg_local_to_utf),
sizeof(ULmapISO8859_5) / sizeof(pg_utf_to_local)}, /* ISO-8859-5 */ sizeof(ULmapISO8859_5) / sizeof(pg_utf_to_local)}, /* ISO-8859-5 */
......
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* ISO8859_1 <--> UTF-8 * ISO8859_1 <--> UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/utf8_and_iso8859_1.c,v 1.10 2004/12/31 22:02:29 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/utf8_and_iso8859_1.c,v 1.11 2005/03/07 04:30:54 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -84,7 +84,7 @@ utf8_to_iso8859_1(PG_FUNCTION_ARGS) ...@@ -84,7 +84,7 @@ utf8_to_iso8859_1(PG_FUNCTION_ARGS)
len -= 2; len -= 2;
} }
else if ((c & 0xe0) == 0xe0) else if ((c & 0xe0) == 0xe0)
elog(ERROR, "could not convert UTF-8 character 0x%04x to ISO8859-1", elog(ERROR, "could not convert UTF8 character 0x%04x to ISO8859-1",
c); c);
else else
{ {
......
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* JOHAB <--> UTF-8 * JOHAB <--> UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_johab/utf8_and_johab.c,v 1.9 2004/12/31 22:02:31 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_johab/utf8_and_johab.c,v 1.10 2005/03/07 04:30:54 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* SJIS <--> UTF-8 * SJIS <--> UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_sjis/utf8_and_sjis.c,v 1.9 2004/12/31 22:02:33 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_sjis/utf8_and_sjis.c,v 1.10 2005/03/07 04:30:54 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* UHC <--> UTF-8 * UHC <--> UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_uhc/utf8_and_uhc.c,v 1.9 2004/12/31 22:02:36 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_uhc/utf8_and_uhc.c,v 1.10 2005/03/07 04:30:54 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* WIN1250 and UTF-8 * WIN1250 and UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_win1250/utf8_and_win1250.c,v 1.9 2004/12/31 22:02:38 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_win1250/utf8_and_win1250.c,v 1.10 2005/03/07 04:30:54 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* WIN1256 and UTF-8 * WIN1256 and UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_win1256/utf8_and_win1256.c,v 1.9 2004/12/31 22:02:39 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_win1256/utf8_and_win1256.c,v 1.10 2005/03/07 04:30:54 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
# $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_tcvn/Makefile,v 1.3 2003/11/29 22:40:38 pgsql Exp $ # $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_win1258/Makefile,v 1.1 2005/03/07 04:30:55 momjian Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
subdir = src/backend/utils/mb/conversion_procs/utf8_and_tcvn subdir = src/backend/utils/mb/conversion_procs/utf8_and_tcvn
top_builddir = ../../../../../.. top_builddir = ../../../../../..
include $(top_builddir)/src/Makefile.global include $(top_builddir)/src/Makefile.global
NAME := utf8_and_tcvn NAME := utf8_and_win1258
include $(srcdir)/../proc.mk include $(srcdir)/../proc.mk
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* TCVN <--> UTF-8 * WIN1258 <--> UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_tcvn/utf8_and_tcvn.c,v 1.9 2004/12/31 22:02:35 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_win1258/utf8_and_win1258.c,v 1.1 2005/03/07 04:30:55 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -14,14 +14,14 @@ ...@@ -14,14 +14,14 @@
#include "postgres.h" #include "postgres.h"
#include "fmgr.h" #include "fmgr.h"
#include "mb/pg_wchar.h" #include "mb/pg_wchar.h"
#include "../../Unicode/tcvn_to_utf8.map" #include "../../Unicode/win1258_to_utf8.map"
#include "../../Unicode/utf8_to_tcvn.map" #include "../../Unicode/utf8_to_win1258.map"
PG_FUNCTION_INFO_V1(tcvn_to_utf8); PG_FUNCTION_INFO_V1(win1258_to_utf8);
PG_FUNCTION_INFO_V1(utf8_to_tcvn); PG_FUNCTION_INFO_V1(utf8_to_win1258);
extern Datum tcvn_to_utf8(PG_FUNCTION_ARGS); extern Datum win1258_to_utf8(PG_FUNCTION_ARGS);
extern Datum utf8_to_tcvn(PG_FUNCTION_ARGS); extern Datum utf8_to_win1258(PG_FUNCTION_ARGS);
/* ---------- /* ----------
* conv_proc( * conv_proc(
...@@ -34,35 +34,35 @@ extern Datum utf8_to_tcvn(PG_FUNCTION_ARGS); ...@@ -34,35 +34,35 @@ extern Datum utf8_to_tcvn(PG_FUNCTION_ARGS);
* ---------- * ----------
*/ */
Datum Datum
tcvn_to_utf8(PG_FUNCTION_ARGS) win1258_to_utf8(PG_FUNCTION_ARGS)
{ {
unsigned char *src = PG_GETARG_CSTRING(2); unsigned char *src = PG_GETARG_CSTRING(2);
unsigned char *dest = PG_GETARG_CSTRING(3); unsigned char *dest = PG_GETARG_CSTRING(3);
int len = PG_GETARG_INT32(4); int len = PG_GETARG_INT32(4);
Assert(PG_GETARG_INT32(0) == PG_TCVN); Assert(PG_GETARG_INT32(0) == PG_WIN1258);
Assert(PG_GETARG_INT32(1) == PG_UTF8); Assert(PG_GETARG_INT32(1) == PG_UTF8);
Assert(len >= 0); Assert(len >= 0);
LocalToUtf(src, dest, LUmapTCVN, LocalToUtf(src, dest, LUmapWIN1258,
sizeof(LUmapTCVN) / sizeof(pg_local_to_utf), PG_TCVN, len); sizeof(LUmapWIN1258) / sizeof(pg_local_to_utf), PG_WIN1258, len);
PG_RETURN_VOID(); PG_RETURN_VOID();
} }
Datum Datum
utf8_to_tcvn(PG_FUNCTION_ARGS) utf8_to_win1258(PG_FUNCTION_ARGS)
{ {
unsigned char *src = PG_GETARG_CSTRING(2); unsigned char *src = PG_GETARG_CSTRING(2);
unsigned char *dest = PG_GETARG_CSTRING(3); unsigned char *dest = PG_GETARG_CSTRING(3);
int len = PG_GETARG_INT32(4); int len = PG_GETARG_INT32(4);
Assert(PG_GETARG_INT32(0) == PG_UTF8); Assert(PG_GETARG_INT32(0) == PG_UTF8);
Assert(PG_GETARG_INT32(1) == PG_TCVN); Assert(PG_GETARG_INT32(1) == PG_WIN1258);
Assert(len >= 0); Assert(len >= 0);
UtfToLocal(src, dest, ULmapTCVN, UtfToLocal(src, dest, ULmapWIN1258,
sizeof(ULmapTCVN) / sizeof(pg_utf_to_local), len); sizeof(ULmapWIN1258) / sizeof(pg_utf_to_local), len);
PG_RETURN_VOID(); PG_RETURN_VOID();
} }
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* *
* WIN874 and UTF-8 * WIN874 and UTF8
* *
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_win874/utf8_and_win874.c,v 1.9 2004/12/31 22:02:41 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/utf8_and_win874/utf8_and_win874.c,v 1.10 2005/03/07 04:30:55 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* Encoding names and routines for work with it. All * Encoding names and routines for work with it. All
* in this file is shared bedween FE and BE. * in this file is shared bedween FE and BE.
* *
* $PostgreSQL: pgsql/src/backend/utils/mb/encnames.c,v 1.22 2004/12/04 18:19:31 momjian Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/encnames.c,v 1.23 2005/03/07 04:30:52 momjian Exp $
*/ */
#ifdef FRONTEND #ifdef FRONTEND
#include "postgres_fe.h" #include "postgres_fe.h"
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
* isalnum() chars only. It means ISO-8859-1, iso_8859-1 and Iso8859_1 * isalnum() chars only. It means ISO-8859-1, iso_8859-1 and Iso8859_1
* are always converted to 'iso88591'. All must be lower case. * are always converted to 'iso88591'. All must be lower case.
* *
* The table doesn't contain 'cs' aliases (like csISOLatin1). It's needful? * The table doesn't contain 'cs' aliases (like csISOLatin1). It's needed?
* *
* Karel Zak, Aug 2001 * Karel Zak, Aug 2001
* ---------- * ----------
...@@ -35,10 +35,10 @@ ...@@ -35,10 +35,10 @@
pg_encname pg_encname_tbl[] = pg_encname pg_encname_tbl[] =
{ {
{ {
"abc", PG_TCVN "abc", PG_WIN1258
}, /* alias for TCVN */ }, /* alias for WIN1258 */
{ {
"alt", PG_ALT "alt", PG_WIN866
}, /* IBM866 */ }, /* IBM866 */
{ {
"big5", PG_BIG5 "big5", PG_BIG5
...@@ -166,23 +166,26 @@ pg_encname pg_encname_tbl[] = ...@@ -166,23 +166,26 @@ pg_encname pg_encname_tbl[] =
"sqlascii", PG_SQL_ASCII "sqlascii", PG_SQL_ASCII
}, },
{ {
"tcvn", PG_TCVN "tcvn", PG_WIN1258
}, /* TCVN; Vietnamese TCVN-5712 */ }, /* alias for WIN1258 */
{ {
"tcvn5712", PG_TCVN "tcvn5712", PG_WIN1258
}, /* alias for TCVN */ }, /* alias for WIN1258 */
{ {
"uhc", PG_UHC "uhc", PG_UHC
}, /* UHC; Korean Windows CodePage 949 */ }, /* UHC; Korean Windows CodePage 949 */
{ {
"unicode", PG_UTF8 "unicode", PG_UTF8
}, /* alias for UTF-8 */ }, /* alias for UTF8 */
{
"utf-8", PG_UTF8
}, /* UTF8; RFC2279 */
{ {
"utf8", PG_UTF8 "utf8", PG_UTF8
}, /* UTF-8; RFC2279 */ }, /* alias for UTF8 */
{ {
"vscii", PG_TCVN "vscii", PG_WIN1258
}, /* alias for TCVN */ }, /* alias for WIN1258 */
{ {
"win", PG_WIN1251 "win", PG_WIN1251
}, /* _dirty_ alias for windows-1251 }, /* _dirty_ alias for windows-1251
...@@ -197,8 +200,11 @@ pg_encname pg_encname_tbl[] = ...@@ -197,8 +200,11 @@ pg_encname pg_encname_tbl[] =
"win1256", PG_WIN1256 "win1256", PG_WIN1256
}, /* alias for Windows-1256 */ }, /* alias for Windows-1256 */
{ {
"win1258", PG_TCVN "win1258", PG_WIN1258
}, /* alias for Windows-1258 */ }, /* alias for Windows-1258 */
{
"win866", PG_WIN866
}, /* IBM866 */
{ {
"win874", PG_WIN874 "win874", PG_WIN874
}, /* alias for Windows-874 */ }, /* alias for Windows-874 */
...@@ -224,8 +230,11 @@ pg_encname pg_encname_tbl[] = ...@@ -224,8 +230,11 @@ pg_encname pg_encname_tbl[] =
"windows1256", PG_WIN1256 "windows1256", PG_WIN1256
}, /* Windows-1256; Microsoft */ }, /* Windows-1256; Microsoft */
{ {
"windows1258", PG_TCVN "windows1258", PG_WIN1258
}, /* Windows-1258; Microsoft */ }, /* Windows-1258; Microsoft */
{
"windows866", PG_WIN866
}, /* IBM866 */
{ {
"windows874", PG_WIN874 "windows874", PG_WIN874
}, /* Windows-874; Microsoft */ }, /* Windows-874; Microsoft */
...@@ -275,7 +284,7 @@ pg_enc2name pg_enc2name_tbl[] = ...@@ -275,7 +284,7 @@ pg_enc2name pg_enc2name_tbl[] =
"JOHAB", PG_JOHAB "JOHAB", PG_JOHAB
}, },
{ {
"UNICODE", PG_UTF8 "UTF8", PG_UTF8
}, },
{ {
"MULE_INTERNAL", PG_MULE_INTERNAL "MULE_INTERNAL", PG_MULE_INTERNAL
...@@ -314,19 +323,19 @@ pg_enc2name pg_enc2name_tbl[] = ...@@ -314,19 +323,19 @@ pg_enc2name pg_enc2name_tbl[] =
"WIN1256", PG_WIN1256 "WIN1256", PG_WIN1256
}, },
{ {
"TCVN", PG_TCVN "WIN1258", PG_WIN1258
}, },
{ {
"WIN874", PG_WIN874 "WIN866", PG_WIN866
}, },
{ {
"KOI8", PG_KOI8R "WIN874", PG_WIN874
}, },
{ {
"WIN", PG_WIN1251 "KOI8", PG_KOI8R
}, },
{ {
"ALT", PG_ALT "WIN1251", PG_WIN1251
}, },
{ {
"ISO_8859_5", PG_ISO_8859_5 "ISO_8859_5", PG_ISO_8859_5
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* (currently mule internal code (mic) is used) * (currently mule internal code (mic) is used)
* Tatsuo Ishii * Tatsuo Ishii
* *
* $PostgreSQL: pgsql/src/backend/utils/mb/mbutils.c,v 1.48 2004/10/13 01:25:12 neilc Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/mbutils.c,v 1.49 2005/03/07 04:30:52 momjian Exp $
*/ */
#include "postgres.h" #include "postgres.h"
...@@ -222,7 +222,7 @@ pg_get_client_encoding_name(void) ...@@ -222,7 +222,7 @@ pg_get_client_encoding_name(void)
* *
* XXX We assume that storage for converted result is 4-to-1 growth in * XXX We assume that storage for converted result is 4-to-1 growth in
* the worst case. The rate for currently supported encoding pares are within 3 * the worst case. The rate for currently supported encoding pares are within 3
* (SJIS JIS X0201 half width kanna -> UTF-8 is the worst case). * (SJIS JIS X0201 half width kanna -> UTF8 is the worst case).
* So "4" should be enough for the moment. * So "4" should be enough for the moment.
*/ */
unsigned char * unsigned char *
......
/* /*
* conversion functions between pg_wchar and multibyte streams. * conversion functions between pg_wchar and multibyte streams.
* Tatsuo Ishii * Tatsuo Ishii
* $PostgreSQL: pgsql/src/backend/utils/mb/wchar.c,v 1.40 2004/12/03 01:20:20 momjian Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/wchar.c,v 1.41 2005/03/07 04:30:52 momjian Exp $
* *
* WIN1250 client encoding updated by Pavel Behal * WIN1250 client encoding updated by Pavel Behal
* *
...@@ -344,7 +344,7 @@ pg_johab_dsplen(const unsigned char *s) ...@@ -344,7 +344,7 @@ pg_johab_dsplen(const unsigned char *s)
} }
/* /*
* convert UTF-8 string to pg_wchar (UCS-2) * convert UTF8 string to pg_wchar (UCS-2)
* caller should allocate enough space for "to" * caller should allocate enough space for "to"
* len: length of from. * len: length of from.
* "from" not necessarily null terminated. * "from" not necessarily null terminated.
...@@ -395,7 +395,7 @@ pg_utf2wchar_with_len(const unsigned char *from, pg_wchar *to, int len) ...@@ -395,7 +395,7 @@ pg_utf2wchar_with_len(const unsigned char *from, pg_wchar *to, int len)
} }
/* /*
* returns the byte length of a UTF-8 word pointed to by s * returns the byte length of a UTF8 word pointed to by s
*/ */
int int
pg_utf_mblen(const unsigned char *s) pg_utf_mblen(const unsigned char *s)
...@@ -721,7 +721,7 @@ pg_wchar_tbl pg_wchar_table[] = { ...@@ -721,7 +721,7 @@ pg_wchar_tbl pg_wchar_table[] = {
{pg_euckr2wchar_with_len, pg_euckr_mblen, pg_euckr_dsplen, 3}, /* 3; PG_EUC_KR */ {pg_euckr2wchar_with_len, pg_euckr_mblen, pg_euckr_dsplen, 3}, /* 3; PG_EUC_KR */
{pg_euctw2wchar_with_len, pg_euctw_mblen, pg_euctw_dsplen, 3}, /* 4; PG_EUC_TW */ {pg_euctw2wchar_with_len, pg_euctw_mblen, pg_euctw_dsplen, 3}, /* 4; PG_EUC_TW */
{pg_johab2wchar_with_len, pg_johab_mblen, pg_johab_dsplen, 3}, /* 5; PG_JOHAB */ {pg_johab2wchar_with_len, pg_johab_mblen, pg_johab_dsplen, 3}, /* 5; PG_JOHAB */
{pg_utf2wchar_with_len, pg_utf_mblen, pg_utf_dsplen, 3}, /* 6; PG_UNICODE */ {pg_utf2wchar_with_len, pg_utf_mblen, pg_utf_dsplen, 3}, /* 6; PG_UTF8 */
{pg_mule2wchar_with_len, pg_mule_mblen, pg_mule_dsplen, 3}, /* 7; PG_MULE_INTERNAL */ {pg_mule2wchar_with_len, pg_mule_mblen, pg_mule_dsplen, 3}, /* 7; PG_MULE_INTERNAL */
{pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, 1}, /* 8; PG_LATIN1 */ {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, 1}, /* 8; PG_LATIN1 */
{pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, 1}, /* 9; PG_LATIN2 */ {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, 1}, /* 9; PG_LATIN2 */
...@@ -822,7 +822,7 @@ pg_verifymbstr(const unsigned char *mbstr, int len, bool noError) ...@@ -822,7 +822,7 @@ pg_verifymbstr(const unsigned char *mbstr, int len, bool noError)
while (len > 0 && *mbstr) while (len > 0 && *mbstr)
{ {
/* special UTF-8 check */ /* special UTF8 check */
if (encoding == PG_UTF8 && (*mbstr & 0xf8) == 0xf0) if (encoding == PG_UTF8 && (*mbstr & 0xf8) == 0xf0)
{ {
if (noError) if (noError)
......
/*
* make KOI8->CP1251(win-1251) and CP1251(win-1251)->KOI8 translation table
* from koi-win.tab.
*
* Tatsuo Ishii
*
* $PostgreSQL: pgsql/src/backend/utils/mb/win.c,v 1.4 2003/11/29 22:39:59 pgsql Exp $
*/
#include <stdio.h>
main()
{
int i;
char koitab[128],
wintab[128];
char buf[4096];
int koi,
win;
for (i = 0; i < 128; i++)
koitab[i] = wintab[i] = 0;
while (fgets(buf, sizeof(buf), stdin) != NULL)
{
if (*buf == '#')
continue;
sscanf(buf, "%d %d", &koi, &win);
if (koi < 128 || koi > 255 || win < 128 || win > 255)
{
fprintf(stderr, "invalid value %d\n", koi);
exit(1);
}
koitab[koi - 128] = win;
wintab[win - 128] = koi;
}
i = 0;
printf("static char koi2win[] = {\n");
while (i < 128)
{
int j = 0;
while (j < 8)
{
printf("0x%02x", koitab[i++]);
j++;
if (i >= 128)
break;
printf(", ");
}
printf("\n");
}
printf("};\n");
i = 0;
printf("static char win2koi[] = {\n");
while (i < 128)
{
int j = 0;
while (j < 8)
{
printf("0x%02x", wintab[i++]);
j++;
if (i >= 128)
break;
printf(", ");
}
printf("\n");
}
printf("};\n");
}
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* Tatsuo Ishii * Tatsuo Ishii
* *
* $PostgreSQL: pgsql/src/backend/utils/mb/alt.c,v 1.4 2003/11/29 22:39:59 pgsql Exp $ * $PostgreSQL: pgsql/src/backend/utils/mb/win866.c,v 1.1 2005/03/07 04:30:52 momjian Exp $
*/ */
#include <stdio.h> #include <stdio.h>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* Portions taken from FreeBSD. * Portions taken from FreeBSD.
* *
* $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.76 2005/02/26 18:43:34 tgl Exp $ * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.77 2005/03/07 04:30:55 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -723,7 +723,7 @@ struct encoding_match encoding_match_list[] = { ...@@ -723,7 +723,7 @@ struct encoding_match encoding_match_list[] = {
{PG_JOHAB, "???"}, {PG_JOHAB, "???"},
#endif #endif
{PG_UTF8, "UTF-8"}, {PG_UTF8, "UTF8"},
{PG_UTF8, "utf8"}, {PG_UTF8, "utf8"},
{PG_LATIN1, "ISO-8859-1"}, {PG_LATIN1, "ISO-8859-1"},
...@@ -767,13 +767,13 @@ struct encoding_match encoding_match_list[] = { ...@@ -767,13 +767,13 @@ struct encoding_match encoding_match_list[] = {
{PG_LATIN10, "iso885916"}, {PG_LATIN10, "iso885916"},
{PG_WIN1256, "CP1256"}, {PG_WIN1256, "CP1256"},
{PG_TCVN, "CP1258"}, {PG_WIN1258, "CP1258"},
#ifdef NOT_VERIFIED #ifdef NOT_VERIFIED
{PG_WIN874, "???"}, {PG_WIN874, "???"},
#endif #endif
{PG_KOI8R, "KOI8-R"}, {PG_KOI8R, "KOI8-R"},
{PG_WIN1251, "CP1251"}, {PG_WIN1251, "CP1251"},
{PG_ALT, "CP866"}, {PG_WIN866, "CP866"},
{PG_ISO_8859_5, "ISO-8859-5"}, {PG_ISO_8859_5, "ISO-8859-5"},
{PG_ISO_8859_5, "ISO8859-5"}, {PG_ISO_8859_5, "ISO8859-5"},
......
/* $PostgreSQL: pgsql/src/include/mb/pg_wchar.h,v 1.56 2004/12/04 18:19:33 momjian Exp $ */ /* $PostgreSQL: pgsql/src/include/mb/pg_wchar.h,v 1.57 2005/03/07 04:30:55 momjian Exp $ */
#ifndef PG_WCHAR_H #ifndef PG_WCHAR_H
#define PG_WCHAR_H #define PG_WCHAR_H
...@@ -155,7 +155,7 @@ typedef enum pg_enc ...@@ -155,7 +155,7 @@ typedef enum pg_enc
PG_EUC_KR, /* EUC for Korean */ PG_EUC_KR, /* EUC for Korean */
PG_EUC_TW, /* EUC for Taiwan */ PG_EUC_TW, /* EUC for Taiwan */
PG_JOHAB, /* EUC for Korean JOHAB */ PG_JOHAB, /* EUC for Korean JOHAB */
PG_UTF8, /* Unicode UTF-8 */ PG_UTF8, /* Unicode UTF8 */
PG_MULE_INTERNAL, /* Mule internal code */ PG_MULE_INTERNAL, /* Mule internal code */
PG_LATIN1, /* ISO-8859-1 Latin 1 */ PG_LATIN1, /* ISO-8859-1 Latin 1 */
PG_LATIN2, /* ISO-8859-2 Latin 2 */ PG_LATIN2, /* ISO-8859-2 Latin 2 */
...@@ -168,11 +168,11 @@ typedef enum pg_enc ...@@ -168,11 +168,11 @@ typedef enum pg_enc
PG_LATIN9, /* ISO-8859-15 Latin9 */ PG_LATIN9, /* ISO-8859-15 Latin9 */
PG_LATIN10, /* ISO-8859-16 Latin10 */ PG_LATIN10, /* ISO-8859-16 Latin10 */
PG_WIN1256, /* windows-1256 */ PG_WIN1256, /* windows-1256 */
PG_TCVN, /* TCVN (Windows-1258) */ PG_WIN1258, /* Windows-1258 */
PG_WIN866, /* (MS-DOS CP866) */
PG_WIN874, /* windows-874 */ PG_WIN874, /* windows-874 */
PG_KOI8R, /* KOI8-R */ PG_KOI8R, /* KOI8-R */
PG_WIN1251, /* windows-1251 (was: WIN) */ PG_WIN1251, /* windows-1251 (was: WIN) */
PG_ALT, /* (MS-DOS CP866) */
PG_ISO_8859_5, /* ISO-8859-5 */ PG_ISO_8859_5, /* ISO-8859-5 */
PG_ISO_8859_6, /* ISO-8859-6 */ PG_ISO_8859_6, /* ISO-8859-6 */
PG_ISO_8859_7, /* ISO-8859-7 */ PG_ISO_8859_7, /* ISO-8859-7 */
...@@ -263,21 +263,21 @@ typedef struct ...@@ -263,21 +263,21 @@ typedef struct
extern pg_wchar_tbl pg_wchar_table[]; extern pg_wchar_tbl pg_wchar_table[];
/* /*
* UTF-8 to local code conversion map * UTF8 to local code conversion map
*/ */
typedef struct typedef struct
{ {
unsigned int utf; /* UTF-8 */ unsigned int utf; /* UTF8 */
unsigned int code; /* local code */ unsigned int code; /* local code */
} pg_utf_to_local; } pg_utf_to_local;
/* /*
* local code to UTF-8 conversion map * local code to UTF8 conversion map
*/ */
typedef struct typedef struct
{ {
unsigned int code; /* local code */ unsigned int code; /* local code */
unsigned int utf; /* UTF-8 */ unsigned int utf; /* UTF8 */
} pg_local_to_utf; } pg_local_to_utf;
extern int pg_mb2wchar(const unsigned char *from, pg_wchar *to); extern int pg_mb2wchar(const unsigned char *from, pg_wchar *to);
......
#! /bin/sh #! /bin/sh
# $PostgreSQL: pgsql/src/test/mb/mbregress.sh,v 1.7 2003/11/29 19:52:14 pgsql Exp $ # $PostgreSQL: pgsql/src/test/mb/mbregress.sh,v 1.8 2005/03/07 04:30:55 momjian Exp $
if echo '\c' | grep -s c >/dev/null 2>&1 if echo '\c' | grep -s c >/dev/null 2>&1
then then
...@@ -15,10 +15,10 @@ if [ ! -d results ];then ...@@ -15,10 +15,10 @@ if [ ! -d results ];then
fi fi
dropdb unitest dropdb unitest
createdb -E UNICODE unitest createdb -E UTF8 unitest
PSQL="psql -n -e -q" PSQL="psql -n -e -q"
tests="euc_jp sjis euc_kr euc_cn euc_tw big5 unicode mule_internal" tests="euc_jp sjis euc_kr euc_cn euc_tw big5 utf8 mule_internal"
unset PGCLIENTENCODING unset PGCLIENTENCODING
for i in $tests for i in $tests
do do
......
...@@ -3,21 +3,21 @@ ...@@ -3,21 +3,21 @@
-- --
CREATE USER conversion_test_user WITH NOCREATEDB NOCREATEUSER; CREATE USER conversion_test_user WITH NOCREATEDB NOCREATEUSER;
SET SESSION AUTHORIZATION conversion_test_user; SET SESSION AUTHORIZATION conversion_test_user;
CREATE CONVERSION myconv FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; CREATE CONVERSION myconv FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
-- --
-- cannot make same name conversion in same schema -- cannot make same name conversion in same schema
-- --
CREATE CONVERSION myconv FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; CREATE CONVERSION myconv FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
ERROR: conversion "myconv" already exists ERROR: conversion "myconv" already exists
-- --
-- create default conversion with qualified name -- create default conversion with qualified name
-- --
CREATE DEFAULT CONVERSION public.mydef FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; 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 -- cannot make default conversion with same shcema/for_encoding/to_encoding
-- --
CREATE DEFAULT CONVERSION public.mydef2 FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; CREATE DEFAULT CONVERSION public.mydef2 FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
ERROR: default conversion for LATIN1 to UNICODE already exists ERROR: default conversion for LATIN1 to UTF8 already exists
-- test comments -- test comments
COMMENT ON CONVERSION myconv_bad IS 'foo'; COMMENT ON CONVERSION myconv_bad IS 'foo';
ERROR: conversion "myconv_bad" does not exist ERROR: conversion "myconv_bad" does not exist
...@@ -134,27 +134,27 @@ SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1251'); ...@@ -134,27 +134,27 @@ SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1251');
foo foo
(1 row) (1 row)
-- ALT --> MULE_INTERNAL -- WIN866 --> MULE_INTERNAL
SELECT CONVERT('foo' USING windows_866_to_mic); SELECT CONVERT('foo' USING windows_866_to_mic);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'ALT', 'MULE_INTERNAL'); SELECT CONVERT('foo', 'WIN866', 'MULE_INTERNAL');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- MULE_INTERNAL --> ALT -- MULE_INTERNAL --> WIN866
SELECT CONVERT('foo' USING mic_to_windows_866); SELECT CONVERT('foo' USING mic_to_windows_866);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'MULE_INTERNAL', 'ALT'); SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN866');
convert convert
--------- ---------
foo foo
...@@ -186,53 +186,53 @@ SELECT CONVERT('foo', 'WIN1251', 'KOI8R'); ...@@ -186,53 +186,53 @@ SELECT CONVERT('foo', 'WIN1251', 'KOI8R');
foo foo
(1 row) (1 row)
-- KOI8R --> ALT -- KOI8R --> WIN866
SELECT CONVERT('foo' USING koi8_r_to_windows_866); SELECT CONVERT('foo' USING koi8_r_to_windows_866);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'KOI8R', 'ALT'); SELECT CONVERT('foo', 'KOI8R', 'WIN866');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- ALT --> KOI8R -- WIN866 --> KOI8R
SELECT CONVERT('foo' USING windows_866_to_koi8_r); SELECT CONVERT('foo' USING windows_866_to_koi8_r);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'ALT', 'KOI8R'); SELECT CONVERT('foo', 'WIN866', 'KOI8R');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- ALT --> WIN1251 -- WIN866 --> WIN1251
SELECT CONVERT('foo' USING windows_866_to_windows_1251); SELECT CONVERT('foo' USING windows_866_to_windows_1251);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'ALT', 'WIN1251'); SELECT CONVERT('foo', 'WIN866', 'WIN1251');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- WIN1251 --> ALT -- WIN1251 --> WIN866
SELECT CONVERT('foo' USING windows_1251_to_windows_866); SELECT CONVERT('foo' USING windows_1251_to_windows_866);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'WIN1251', 'ALT'); SELECT CONVERT('foo', 'WIN1251', 'WIN866');
convert convert
--------- ---------
foo foo
...@@ -290,27 +290,27 @@ SELECT CONVERT('foo', 'WIN1251', 'ISO-8859-5'); ...@@ -290,27 +290,27 @@ SELECT CONVERT('foo', 'WIN1251', 'ISO-8859-5');
foo foo
(1 row) (1 row)
-- ISO-8859-5 --> ALT -- ISO-8859-5 --> WIN866
SELECT CONVERT('foo' USING iso_8859_5_to_windows_866); SELECT CONVERT('foo' USING iso_8859_5_to_windows_866);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'ISO-8859-5', 'ALT'); SELECT CONVERT('foo', 'ISO-8859-5', 'WIN866');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- ALT --> ISO-8859-5 -- WIN866 --> ISO-8859-5
SELECT CONVERT('foo' USING windows_866_to_iso_8859_5); SELECT CONVERT('foo' USING windows_866_to_iso_8859_5);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'ALT', 'ISO-8859-5'); SELECT CONVERT('foo', 'WIN866', 'ISO-8859-5');
convert convert
--------- ---------
foo foo
...@@ -680,833 +680,833 @@ SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN4'); ...@@ -680,833 +680,833 @@ SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN4');
foo foo
(1 row) (1 row)
-- SQL_ASCII --> UNICODE -- SQL_ASCII --> UTF8
SELECT CONVERT('foo' USING ascii_to_utf_8); SELECT CONVERT('foo' USING ascii_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'SQL_ASCII', 'UNICODE'); SELECT CONVERT('foo', 'SQL_ASCII', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> SQL_ASCII -- UTF8 --> SQL_ASCII
SELECT CONVERT('foo' USING utf_8_to_ascii); SELECT CONVERT('foo' USING utf8_to_ascii);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'SQL_ASCII'); SELECT CONVERT('foo', 'UTF8', 'SQL_ASCII');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- BIG5 --> UNICODE -- BIG5 --> UTF8
SELECT CONVERT('foo' USING big5_to_utf_8); SELECT CONVERT('foo' USING big5_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'BIG5', 'UNICODE'); SELECT CONVERT('foo', 'BIG5', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> BIG5 -- UTF8 --> BIG5
SELECT CONVERT('foo' USING utf_8_to_big5); SELECT CONVERT('foo' USING utf8_to_big5);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'BIG5'); SELECT CONVERT('foo', 'UTF8', 'BIG5');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> KOI8R -- UTF8 --> KOI8R
SELECT CONVERT('foo' USING utf_8_to_koi8_r); SELECT CONVERT('foo' USING utf8_to_koi8_r);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'KOI8R'); SELECT CONVERT('foo', 'UTF8', 'KOI8R');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- KOI8R --> UNICODE -- KOI8R --> UTF8
SELECT CONVERT('foo' USING koi8_r_to_utf_8); SELECT CONVERT('foo' USING koi8_r_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'KOI8R', 'UNICODE'); SELECT CONVERT('foo', 'KOI8R', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> WIN1251 -- UTF8 --> WIN1251
SELECT CONVERT('foo' USING utf_8_to_windows_1251); SELECT CONVERT('foo' USING utf8_to_windows_1251);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'WIN1251'); SELECT CONVERT('foo', 'UTF8', 'WIN1251');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- WIN1251 --> UNICODE -- WIN1251 --> UTF8
SELECT CONVERT('foo' USING windows_1251_to_utf_8); SELECT CONVERT('foo' USING windows_1251_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'WIN1251', 'UNICODE'); SELECT CONVERT('foo', 'WIN1251', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> ALT -- UTF8 --> WIN866
SELECT CONVERT('foo' USING utf_8_to_windows_866); SELECT CONVERT('foo' USING utf8_to_windows_866);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'ALT'); SELECT CONVERT('foo', 'UTF8', 'WIN866');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- ALT --> UNICODE -- WIN866 --> UTF8
SELECT CONVERT('foo' USING windows_866_to_utf_8); SELECT CONVERT('foo' USING windows_866_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'ALT', 'UNICODE'); SELECT CONVERT('foo', 'WIN866', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- EUC_CN --> UNICODE -- EUC_CN --> UTF8
SELECT CONVERT('foo' USING euc_cn_to_utf_8); SELECT CONVERT('foo' USING euc_cn_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'EUC_CN', 'UNICODE'); SELECT CONVERT('foo', 'EUC_CN', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> EUC_CN -- UTF8 --> EUC_CN
SELECT CONVERT('foo' USING utf_8_to_euc_cn); SELECT CONVERT('foo' USING utf8_to_euc_cn);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'EUC_CN'); SELECT CONVERT('foo', 'UTF8', 'EUC_CN');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- EUC_JP --> UNICODE -- EUC_JP --> UTF8
SELECT CONVERT('foo' USING euc_jp_to_utf_8); SELECT CONVERT('foo' USING euc_jp_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'EUC_JP', 'UNICODE'); SELECT CONVERT('foo', 'EUC_JP', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> EUC_JP -- UTF8 --> EUC_JP
SELECT CONVERT('foo' USING utf_8_to_euc_jp); SELECT CONVERT('foo' USING utf8_to_euc_jp);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'EUC_JP'); SELECT CONVERT('foo', 'UTF8', 'EUC_JP');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- EUC_KR --> UNICODE -- EUC_KR --> UTF8
SELECT CONVERT('foo' USING euc_kr_to_utf_8); SELECT CONVERT('foo' USING euc_kr_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'EUC_KR', 'UNICODE'); SELECT CONVERT('foo', 'EUC_KR', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> EUC_KR -- UTF8 --> EUC_KR
SELECT CONVERT('foo' USING utf_8_to_euc_kr); SELECT CONVERT('foo' USING utf8_to_euc_kr);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'EUC_KR'); SELECT CONVERT('foo', 'UTF8', 'EUC_KR');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- EUC_TW --> UNICODE -- EUC_TW --> UTF8
SELECT CONVERT('foo' USING euc_tw_to_utf_8); SELECT CONVERT('foo' USING euc_tw_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'EUC_TW', 'UNICODE'); SELECT CONVERT('foo', 'EUC_TW', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> EUC_TW -- UTF8 --> EUC_TW
SELECT CONVERT('foo' USING utf_8_to_euc_tw); SELECT CONVERT('foo' USING utf8_to_euc_tw);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'EUC_TW'); SELECT CONVERT('foo', 'UTF8', 'EUC_TW');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- GB18030 --> UNICODE -- GB18030 --> UTF8
SELECT CONVERT('foo' USING gb18030_to_utf_8); SELECT CONVERT('foo' USING gb18030_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'GB18030', 'UNICODE'); SELECT CONVERT('foo', 'GB18030', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> GB18030 -- UTF8 --> GB18030
SELECT CONVERT('foo' USING utf_8_to_gb18030); SELECT CONVERT('foo' USING utf8_to_gb18030);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'GB18030'); SELECT CONVERT('foo', 'UTF8', 'GB18030');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- GBK --> UNICODE -- GBK --> UTF8
SELECT CONVERT('foo' USING gbk_to_utf_8); SELECT CONVERT('foo' USING gbk_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'GBK', 'UNICODE'); SELECT CONVERT('foo', 'GBK', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> GBK -- UTF8 --> GBK
SELECT CONVERT('foo' USING utf_8_to_gbk); SELECT CONVERT('foo' USING utf8_to_gbk);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'GBK'); SELECT CONVERT('foo', 'UTF8', 'GBK');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> LATIN2 -- UTF8 --> LATIN2
SELECT CONVERT('foo' USING utf_8_to_iso_8859_2); SELECT CONVERT('foo' USING utf8_to_iso_8859_2);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'LATIN2'); SELECT CONVERT('foo', 'UTF8', 'LATIN2');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- LATIN2 --> UNICODE -- LATIN2 --> UTF8
SELECT CONVERT('foo' USING iso_8859_2_to_utf_8); SELECT CONVERT('foo' USING iso_8859_2_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'LATIN2', 'UNICODE'); SELECT CONVERT('foo', 'LATIN2', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> LATIN3 -- UTF8 --> LATIN3
SELECT CONVERT('foo' USING utf_8_to_iso_8859_3); SELECT CONVERT('foo' USING utf8_to_iso_8859_3);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'LATIN3'); SELECT CONVERT('foo', 'UTF8', 'LATIN3');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- LATIN3 --> UNICODE -- LATIN3 --> UTF8
SELECT CONVERT('foo' USING iso_8859_3_to_utf_8); SELECT CONVERT('foo' USING iso_8859_3_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'LATIN3', 'UNICODE'); SELECT CONVERT('foo', 'LATIN3', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> LATIN4 -- UTF8 --> LATIN4
SELECT CONVERT('foo' USING utf_8_to_iso_8859_4); SELECT CONVERT('foo' USING utf8_to_iso_8859_4);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'LATIN4'); SELECT CONVERT('foo', 'UTF8', 'LATIN4');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- LATIN4 --> UNICODE -- LATIN4 --> UTF8
SELECT CONVERT('foo' USING iso_8859_4_to_utf_8); SELECT CONVERT('foo' USING iso_8859_4_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'LATIN4', 'UNICODE'); SELECT CONVERT('foo', 'LATIN4', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> LATIN5 -- UTF8 --> LATIN5
SELECT CONVERT('foo' USING utf_8_to_iso_8859_9); SELECT CONVERT('foo' USING utf8_to_iso_8859_9);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'LATIN5'); SELECT CONVERT('foo', 'UTF8', 'LATIN5');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- LATIN5 --> UNICODE -- LATIN5 --> UTF8
SELECT CONVERT('foo' USING iso_8859_9_to_utf_8); SELECT CONVERT('foo' USING iso_8859_9_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'LATIN5', 'UNICODE'); SELECT CONVERT('foo', 'LATIN5', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> LATIN6 -- UTF8 --> LATIN6
SELECT CONVERT('foo' USING utf_8_to_iso_8859_10); SELECT CONVERT('foo' USING utf8_to_iso_8859_10);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'LATIN6'); SELECT CONVERT('foo', 'UTF8', 'LATIN6');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- LATIN6 --> UNICODE -- LATIN6 --> UTF8
SELECT CONVERT('foo' USING iso_8859_10_to_utf_8); SELECT CONVERT('foo' USING iso_8859_10_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'LATIN6', 'UNICODE'); SELECT CONVERT('foo', 'LATIN6', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> LATIN7 -- UTF8 --> LATIN7
SELECT CONVERT('foo' USING utf_8_to_iso_8859_13); SELECT CONVERT('foo' USING utf8_to_iso_8859_13);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'LATIN7'); SELECT CONVERT('foo', 'UTF8', 'LATIN7');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- LATIN7 --> UNICODE -- LATIN7 --> UTF8
SELECT CONVERT('foo' USING iso_8859_13_to_utf_8); SELECT CONVERT('foo' USING iso_8859_13_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'LATIN7', 'UNICODE'); SELECT CONVERT('foo', 'LATIN7', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> LATIN8 -- UTF8 --> LATIN8
SELECT CONVERT('foo' USING utf_8_to_iso_8859_14); SELECT CONVERT('foo' USING utf8_to_iso_8859_14);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'LATIN8'); SELECT CONVERT('foo', 'UTF8', 'LATIN8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- LATIN8 --> UNICODE -- LATIN8 --> UTF8
SELECT CONVERT('foo' USING iso_8859_14_to_utf_8); SELECT CONVERT('foo' USING iso_8859_14_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'LATIN8', 'UNICODE'); SELECT CONVERT('foo', 'LATIN8', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> LATIN9 -- UTF8 --> LATIN9
SELECT CONVERT('foo' USING utf_8_to_iso_8859_15); SELECT CONVERT('foo' USING utf8_to_iso_8859_15);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'LATIN9'); SELECT CONVERT('foo', 'UTF8', 'LATIN9');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- LATIN9 --> UNICODE -- LATIN9 --> UTF8
SELECT CONVERT('foo' USING iso_8859_15_to_utf_8); SELECT CONVERT('foo' USING iso_8859_15_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'LATIN9', 'UNICODE'); SELECT CONVERT('foo', 'LATIN9', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> LATIN10 -- UTF8 --> LATIN10
SELECT CONVERT('foo' USING utf_8_to_iso_8859_16); SELECT CONVERT('foo' USING utf8_to_iso_8859_16);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'LATIN10'); SELECT CONVERT('foo', 'UTF8', 'LATIN10');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- LATIN10 --> UNICODE -- LATIN10 --> UTF8
SELECT CONVERT('foo' USING iso_8859_16_to_utf_8); SELECT CONVERT('foo' USING iso_8859_16_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'LATIN10', 'UNICODE'); SELECT CONVERT('foo', 'LATIN10', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> ISO-8859-5 -- UTF8 --> ISO-8859-5
SELECT CONVERT('foo' USING utf_8_to_iso_8859_5); SELECT CONVERT('foo' USING utf8_to_iso_8859_5);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-5'); SELECT CONVERT('foo', 'UTF8', 'ISO-8859-5');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- ISO-8859-5 --> UNICODE -- ISO-8859-5 --> UTF8
SELECT CONVERT('foo' USING iso_8859_5_to_utf_8); SELECT CONVERT('foo' USING iso_8859_5_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'ISO-8859-5', 'UNICODE'); SELECT CONVERT('foo', 'ISO-8859-5', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> ISO-8859-6 -- UTF8 --> ISO-8859-6
SELECT CONVERT('foo' USING utf_8_to_iso_8859_6); SELECT CONVERT('foo' USING utf8_to_iso_8859_6);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-6'); SELECT CONVERT('foo', 'UTF8', 'ISO-8859-6');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- ISO-8859-6 --> UNICODE -- ISO-8859-6 --> UTF8
SELECT CONVERT('foo' USING iso_8859_6_to_utf_8); SELECT CONVERT('foo' USING iso_8859_6_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'ISO-8859-6', 'UNICODE'); SELECT CONVERT('foo', 'ISO-8859-6', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> ISO-8859-7 -- UTF8 --> ISO-8859-7
SELECT CONVERT('foo' USING utf_8_to_iso_8859_7); SELECT CONVERT('foo' USING utf8_to_iso_8859_7);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-7'); SELECT CONVERT('foo', 'UTF8', 'ISO-8859-7');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- ISO-8859-7 --> UNICODE -- ISO-8859-7 --> UTF8
SELECT CONVERT('foo' USING iso_8859_7_to_utf_8); SELECT CONVERT('foo' USING iso_8859_7_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'ISO-8859-7', 'UNICODE'); SELECT CONVERT('foo', 'ISO-8859-7', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> ISO-8859-8 -- UTF8 --> ISO-8859-8
SELECT CONVERT('foo' USING utf_8_to_iso_8859_8); SELECT CONVERT('foo' USING utf8_to_iso_8859_8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-8'); SELECT CONVERT('foo', 'UTF8', 'ISO-8859-8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- ISO-8859-8 --> UNICODE -- ISO-8859-8 --> UTF8
SELECT CONVERT('foo' USING iso_8859_8_to_utf_8); SELECT CONVERT('foo' USING iso_8859_8_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'ISO-8859-8', 'UNICODE'); SELECT CONVERT('foo', 'ISO-8859-8', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- LATIN1 --> UNICODE -- LATIN1 --> UTF8
SELECT CONVERT('foo' USING iso_8859_1_to_utf_8); SELECT CONVERT('foo' USING iso_8859_1_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'LATIN1', 'UNICODE'); SELECT CONVERT('foo', 'LATIN1', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> LATIN1 -- UTF8 --> LATIN1
SELECT CONVERT('foo' USING utf_8_to_iso_8859_1); SELECT CONVERT('foo' USING utf8_to_iso_8859_1);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'LATIN1'); SELECT CONVERT('foo', 'UTF8', 'LATIN1');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- JOHAB --> UNICODE -- JOHAB --> UTF8
SELECT CONVERT('foo' USING johab_to_utf_8); SELECT CONVERT('foo' USING johab_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'JOHAB', 'UNICODE'); SELECT CONVERT('foo', 'JOHAB', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> JOHAB -- UTF8 --> JOHAB
SELECT CONVERT('foo' USING utf_8_to_johab); SELECT CONVERT('foo' USING utf8_to_johab);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'JOHAB'); SELECT CONVERT('foo', 'UTF8', 'JOHAB');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- SJIS --> UNICODE -- SJIS --> UTF8
SELECT CONVERT('foo' USING sjis_to_utf_8); SELECT CONVERT('foo' USING sjis_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'SJIS', 'UNICODE'); SELECT CONVERT('foo', 'SJIS', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> SJIS -- UTF8 --> SJIS
SELECT CONVERT('foo' USING utf_8_to_sjis); SELECT CONVERT('foo' USING utf8_to_sjis);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'SJIS'); SELECT CONVERT('foo', 'UTF8', 'SJIS');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- TCVN --> UNICODE -- WIN1258 --> UTF8
SELECT CONVERT('foo' USING tcvn_to_utf_8); SELECT CONVERT('foo' USING win1258_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'TCVN', 'UNICODE'); SELECT CONVERT('foo', 'WIN1258', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> TCVN -- UTF8 --> WIN1258
SELECT CONVERT('foo' USING utf_8_to_tcvn); SELECT CONVERT('foo' USING utf8_to_win1258);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'TCVN'); SELECT CONVERT('foo', 'UTF8', 'WIN1258');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UHC --> UNICODE -- UHC --> UTF8
SELECT CONVERT('foo' USING uhc_to_utf_8); SELECT CONVERT('foo' USING uhc_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UHC', 'UNICODE'); SELECT CONVERT('foo', 'UHC', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> UHC -- UTF8 --> UHC
SELECT CONVERT('foo' USING utf_8_to_uhc); SELECT CONVERT('foo' USING utf8_to_uhc);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'UHC'); SELECT CONVERT('foo', 'UTF8', 'UHC');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> WIN1250 -- UTF8 --> WIN1250
SELECT CONVERT('foo' USING utf_8_to_windows_1250); SELECT CONVERT('foo' USING utf8_to_windows_1250);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'WIN1250'); SELECT CONVERT('foo', 'UTF8', 'WIN1250');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- WIN1250 --> UNICODE -- WIN1250 --> UTF8
SELECT CONVERT('foo' USING windows_1250_to_utf_8); SELECT CONVERT('foo' USING windows_1250_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'WIN1250', 'UNICODE'); SELECT CONVERT('foo', 'WIN1250', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> WIN1256 -- UTF8 --> WIN1256
SELECT CONVERT('foo' USING utf_8_to_windows_1256); SELECT CONVERT('foo' USING utf8_to_windows_1256);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'WIN1256'); SELECT CONVERT('foo', 'UTF8', 'WIN1256');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- WIN1256 --> UNICODE -- WIN1256 --> UTF8
SELECT CONVERT('foo' USING windows_1256_to_utf_8); SELECT CONVERT('foo' USING windows_1256_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'WIN1256', 'UNICODE'); SELECT CONVERT('foo', 'WIN1256', 'UTF8');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- UNICODE --> WIN874 -- UTF8 --> WIN874
SELECT CONVERT('foo' USING utf_8_to_windows_874); SELECT CONVERT('foo' USING utf8_to_windows_874);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'UNICODE', 'WIN874'); SELECT CONVERT('foo', 'UTF8', 'WIN874');
convert convert
--------- ---------
foo foo
(1 row) (1 row)
-- WIN874 --> UNICODE -- WIN874 --> UTF8
SELECT CONVERT('foo' USING windows_874_to_utf_8); SELECT CONVERT('foo' USING windows_874_to_utf8);
convert_using convert_using
--------------- ---------------
foo foo
(1 row) (1 row)
SELECT CONVERT('foo', 'WIN874', 'UNICODE'); SELECT CONVERT('foo', 'WIN874', 'UTF8');
convert convert
--------- ---------
foo foo
......
...@@ -3,19 +3,19 @@ ...@@ -3,19 +3,19 @@
-- --
CREATE USER conversion_test_user WITH NOCREATEDB NOCREATEUSER; CREATE USER conversion_test_user WITH NOCREATEDB NOCREATEUSER;
SET SESSION AUTHORIZATION conversion_test_user; SET SESSION AUTHORIZATION conversion_test_user;
CREATE CONVERSION myconv FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; CREATE CONVERSION myconv FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
-- --
-- cannot make same name conversion in same schema -- cannot make same name conversion in same schema
-- --
CREATE CONVERSION myconv FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; CREATE CONVERSION myconv FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
-- --
-- create default conversion with qualified name -- create default conversion with qualified name
-- --
CREATE DEFAULT CONVERSION public.mydef FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; 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 -- cannot make default conversion with same shcema/for_encoding/to_encoding
-- --
CREATE DEFAULT CONVERSION public.mydef2 FOR 'LATIN1' TO 'UNICODE' FROM iso8859_1_to_utf8; CREATE DEFAULT CONVERSION public.mydef2 FOR 'LATIN1' TO 'UTF8' FROM iso8859_1_to_utf8;
-- test comments -- test comments
COMMENT ON CONVERSION myconv_bad IS 'foo'; COMMENT ON CONVERSION myconv_bad IS 'foo';
COMMENT ON CONVERSION myconv IS 'bar'; COMMENT ON CONVERSION myconv IS 'bar';
...@@ -51,30 +51,30 @@ SELECT CONVERT('foo', 'WIN1251', 'MULE_INTERNAL'); ...@@ -51,30 +51,30 @@ SELECT CONVERT('foo', 'WIN1251', 'MULE_INTERNAL');
-- MULE_INTERNAL --> WIN1251 -- MULE_INTERNAL --> WIN1251
SELECT CONVERT('foo' USING mic_to_windows_1251); SELECT CONVERT('foo' USING mic_to_windows_1251);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1251'); SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1251');
-- ALT --> MULE_INTERNAL -- WIN866 --> MULE_INTERNAL
SELECT CONVERT('foo' USING windows_866_to_mic); SELECT CONVERT('foo' USING windows_866_to_mic);
SELECT CONVERT('foo', 'ALT', 'MULE_INTERNAL'); SELECT CONVERT('foo', 'WIN866', 'MULE_INTERNAL');
-- MULE_INTERNAL --> ALT -- MULE_INTERNAL --> WIN866
SELECT CONVERT('foo' USING mic_to_windows_866); SELECT CONVERT('foo' USING mic_to_windows_866);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'ALT'); SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN866');
-- KOI8R --> WIN1251 -- KOI8R --> WIN1251
SELECT CONVERT('foo' USING koi8_r_to_windows_1251); SELECT CONVERT('foo' USING koi8_r_to_windows_1251);
SELECT CONVERT('foo', 'KOI8R', 'WIN1251'); SELECT CONVERT('foo', 'KOI8R', 'WIN1251');
-- WIN1251 --> KOI8R -- WIN1251 --> KOI8R
SELECT CONVERT('foo' USING windows_1251_to_koi8_r); SELECT CONVERT('foo' USING windows_1251_to_koi8_r);
SELECT CONVERT('foo', 'WIN1251', 'KOI8R'); SELECT CONVERT('foo', 'WIN1251', 'KOI8R');
-- KOI8R --> ALT -- KOI8R --> WIN866
SELECT CONVERT('foo' USING koi8_r_to_windows_866); SELECT CONVERT('foo' USING koi8_r_to_windows_866);
SELECT CONVERT('foo', 'KOI8R', 'ALT'); SELECT CONVERT('foo', 'KOI8R', 'WIN866');
-- ALT --> KOI8R -- WIN866 --> KOI8R
SELECT CONVERT('foo' USING windows_866_to_koi8_r); SELECT CONVERT('foo' USING windows_866_to_koi8_r);
SELECT CONVERT('foo', 'ALT', 'KOI8R'); SELECT CONVERT('foo', 'WIN866', 'KOI8R');
-- ALT --> WIN1251 -- WIN866 --> WIN1251
SELECT CONVERT('foo' USING windows_866_to_windows_1251); SELECT CONVERT('foo' USING windows_866_to_windows_1251);
SELECT CONVERT('foo', 'ALT', 'WIN1251'); SELECT CONVERT('foo', 'WIN866', 'WIN1251');
-- WIN1251 --> ALT -- WIN1251 --> WIN866
SELECT CONVERT('foo' USING windows_1251_to_windows_866); SELECT CONVERT('foo' USING windows_1251_to_windows_866);
SELECT CONVERT('foo', 'WIN1251', 'ALT'); SELECT CONVERT('foo', 'WIN1251', 'WIN866');
-- ISO-8859-5 --> KOI8R -- ISO-8859-5 --> KOI8R
SELECT CONVERT('foo' USING iso_8859_5_to_koi8_r); SELECT CONVERT('foo' USING iso_8859_5_to_koi8_r);
SELECT CONVERT('foo', 'ISO-8859-5', 'KOI8R'); SELECT CONVERT('foo', 'ISO-8859-5', 'KOI8R');
...@@ -87,12 +87,12 @@ SELECT CONVERT('foo', 'ISO-8859-5', 'WIN1251'); ...@@ -87,12 +87,12 @@ SELECT CONVERT('foo', 'ISO-8859-5', 'WIN1251');
-- WIN1251 --> ISO-8859-5 -- WIN1251 --> ISO-8859-5
SELECT CONVERT('foo' USING windows_1251_to_iso_8859_5); SELECT CONVERT('foo' USING windows_1251_to_iso_8859_5);
SELECT CONVERT('foo', 'WIN1251', 'ISO-8859-5'); SELECT CONVERT('foo', 'WIN1251', 'ISO-8859-5');
-- ISO-8859-5 --> ALT -- ISO-8859-5 --> WIN866
SELECT CONVERT('foo' USING iso_8859_5_to_windows_866); SELECT CONVERT('foo' USING iso_8859_5_to_windows_866);
SELECT CONVERT('foo', 'ISO-8859-5', 'ALT'); SELECT CONVERT('foo', 'ISO-8859-5', 'WIN866');
-- ALT --> ISO-8859-5 -- WIN866 --> ISO-8859-5
SELECT CONVERT('foo' USING windows_866_to_iso_8859_5); SELECT CONVERT('foo' USING windows_866_to_iso_8859_5);
SELECT CONVERT('foo', 'ALT', 'ISO-8859-5'); SELECT CONVERT('foo', 'WIN866', 'ISO-8859-5');
-- EUC_CN --> MULE_INTERNAL -- EUC_CN --> MULE_INTERNAL
SELECT CONVERT('foo' USING euc_cn_to_mic); SELECT CONVERT('foo' USING euc_cn_to_mic);
SELECT CONVERT('foo', 'EUC_CN', 'MULE_INTERNAL'); SELECT CONVERT('foo', 'EUC_CN', 'MULE_INTERNAL');
...@@ -177,198 +177,198 @@ SELECT CONVERT('foo', 'LATIN4', 'MULE_INTERNAL'); ...@@ -177,198 +177,198 @@ SELECT CONVERT('foo', 'LATIN4', 'MULE_INTERNAL');
-- MULE_INTERNAL --> LATIN4 -- MULE_INTERNAL --> LATIN4
SELECT CONVERT('foo' USING mic_to_iso_8859_4); SELECT CONVERT('foo' USING mic_to_iso_8859_4);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN4'); SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN4');
-- SQL_ASCII --> UNICODE -- SQL_ASCII --> UTF8
SELECT CONVERT('foo' USING ascii_to_utf_8); SELECT CONVERT('foo' USING ascii_to_utf8);
SELECT CONVERT('foo', 'SQL_ASCII', 'UNICODE'); SELECT CONVERT('foo', 'SQL_ASCII', 'UTF8');
-- UNICODE --> SQL_ASCII -- UTF8 --> SQL_ASCII
SELECT CONVERT('foo' USING utf_8_to_ascii); SELECT CONVERT('foo' USING utf8_to_ascii);
SELECT CONVERT('foo', 'UNICODE', 'SQL_ASCII'); SELECT CONVERT('foo', 'UTF8', 'SQL_ASCII');
-- BIG5 --> UNICODE -- BIG5 --> UTF8
SELECT CONVERT('foo' USING big5_to_utf_8); SELECT CONVERT('foo' USING big5_to_utf8);
SELECT CONVERT('foo', 'BIG5', 'UNICODE'); SELECT CONVERT('foo', 'BIG5', 'UTF8');
-- UNICODE --> BIG5 -- UTF8 --> BIG5
SELECT CONVERT('foo' USING utf_8_to_big5); SELECT CONVERT('foo' USING utf8_to_big5);
SELECT CONVERT('foo', 'UNICODE', 'BIG5'); SELECT CONVERT('foo', 'UTF8', 'BIG5');
-- UNICODE --> KOI8R -- UTF8 --> KOI8R
SELECT CONVERT('foo' USING utf_8_to_koi8_r); SELECT CONVERT('foo' USING utf8_to_koi8_r);
SELECT CONVERT('foo', 'UNICODE', 'KOI8R'); SELECT CONVERT('foo', 'UTF8', 'KOI8R');
-- KOI8R --> UNICODE -- KOI8R --> UTF8
SELECT CONVERT('foo' USING koi8_r_to_utf_8); SELECT CONVERT('foo' USING koi8_r_to_utf8);
SELECT CONVERT('foo', 'KOI8R', 'UNICODE'); SELECT CONVERT('foo', 'KOI8R', 'UTF8');
-- UNICODE --> WIN1251 -- UTF8 --> WIN1251
SELECT CONVERT('foo' USING utf_8_to_windows_1251); SELECT CONVERT('foo' USING utf8_to_windows_1251);
SELECT CONVERT('foo', 'UNICODE', 'WIN1251'); SELECT CONVERT('foo', 'UTF8', 'WIN1251');
-- WIN1251 --> UNICODE -- WIN1251 --> UTF8
SELECT CONVERT('foo' USING windows_1251_to_utf_8); SELECT CONVERT('foo' USING windows_1251_to_utf8);
SELECT CONVERT('foo', 'WIN1251', 'UNICODE'); SELECT CONVERT('foo', 'WIN1251', 'UTF8');
-- UNICODE --> ALT -- UTF8 --> WIN866
SELECT CONVERT('foo' USING utf_8_to_windows_866); SELECT CONVERT('foo' USING utf8_to_windows_866);
SELECT CONVERT('foo', 'UNICODE', 'ALT'); SELECT CONVERT('foo', 'UTF8', 'WIN866');
-- ALT --> UNICODE -- WIN866 --> UTF8
SELECT CONVERT('foo' USING windows_866_to_utf_8); SELECT CONVERT('foo' USING windows_866_to_utf8);
SELECT CONVERT('foo', 'ALT', 'UNICODE'); SELECT CONVERT('foo', 'WIN866', 'UTF8');
-- EUC_CN --> UNICODE -- EUC_CN --> UTF8
SELECT CONVERT('foo' USING euc_cn_to_utf_8); SELECT CONVERT('foo' USING euc_cn_to_utf8);
SELECT CONVERT('foo', 'EUC_CN', 'UNICODE'); SELECT CONVERT('foo', 'EUC_CN', 'UTF8');
-- UNICODE --> EUC_CN -- UTF8 --> EUC_CN
SELECT CONVERT('foo' USING utf_8_to_euc_cn); SELECT CONVERT('foo' USING utf8_to_euc_cn);
SELECT CONVERT('foo', 'UNICODE', 'EUC_CN'); SELECT CONVERT('foo', 'UTF8', 'EUC_CN');
-- EUC_JP --> UNICODE -- EUC_JP --> UTF8
SELECT CONVERT('foo' USING euc_jp_to_utf_8); SELECT CONVERT('foo' USING euc_jp_to_utf8);
SELECT CONVERT('foo', 'EUC_JP', 'UNICODE'); SELECT CONVERT('foo', 'EUC_JP', 'UTF8');
-- UNICODE --> EUC_JP -- UTF8 --> EUC_JP
SELECT CONVERT('foo' USING utf_8_to_euc_jp); SELECT CONVERT('foo' USING utf8_to_euc_jp);
SELECT CONVERT('foo', 'UNICODE', 'EUC_JP'); SELECT CONVERT('foo', 'UTF8', 'EUC_JP');
-- EUC_KR --> UNICODE -- EUC_KR --> UTF8
SELECT CONVERT('foo' USING euc_kr_to_utf_8); SELECT CONVERT('foo' USING euc_kr_to_utf8);
SELECT CONVERT('foo', 'EUC_KR', 'UNICODE'); SELECT CONVERT('foo', 'EUC_KR', 'UTF8');
-- UNICODE --> EUC_KR -- UTF8 --> EUC_KR
SELECT CONVERT('foo' USING utf_8_to_euc_kr); SELECT CONVERT('foo' USING utf8_to_euc_kr);
SELECT CONVERT('foo', 'UNICODE', 'EUC_KR'); SELECT CONVERT('foo', 'UTF8', 'EUC_KR');
-- EUC_TW --> UNICODE -- EUC_TW --> UTF8
SELECT CONVERT('foo' USING euc_tw_to_utf_8); SELECT CONVERT('foo' USING euc_tw_to_utf8);
SELECT CONVERT('foo', 'EUC_TW', 'UNICODE'); SELECT CONVERT('foo', 'EUC_TW', 'UTF8');
-- UNICODE --> EUC_TW -- UTF8 --> EUC_TW
SELECT CONVERT('foo' USING utf_8_to_euc_tw); SELECT CONVERT('foo' USING utf8_to_euc_tw);
SELECT CONVERT('foo', 'UNICODE', 'EUC_TW'); SELECT CONVERT('foo', 'UTF8', 'EUC_TW');
-- GB18030 --> UNICODE -- GB18030 --> UTF8
SELECT CONVERT('foo' USING gb18030_to_utf_8); SELECT CONVERT('foo' USING gb18030_to_utf8);
SELECT CONVERT('foo', 'GB18030', 'UNICODE'); SELECT CONVERT('foo', 'GB18030', 'UTF8');
-- UNICODE --> GB18030 -- UTF8 --> GB18030
SELECT CONVERT('foo' USING utf_8_to_gb18030); SELECT CONVERT('foo' USING utf8_to_gb18030);
SELECT CONVERT('foo', 'UNICODE', 'GB18030'); SELECT CONVERT('foo', 'UTF8', 'GB18030');
-- GBK --> UNICODE -- GBK --> UTF8
SELECT CONVERT('foo' USING gbk_to_utf_8); SELECT CONVERT('foo' USING gbk_to_utf8);
SELECT CONVERT('foo', 'GBK', 'UNICODE'); SELECT CONVERT('foo', 'GBK', 'UTF8');
-- UNICODE --> GBK -- UTF8 --> GBK
SELECT CONVERT('foo' USING utf_8_to_gbk); SELECT CONVERT('foo' USING utf8_to_gbk);
SELECT CONVERT('foo', 'UNICODE', 'GBK'); SELECT CONVERT('foo', 'UTF8', 'GBK');
-- UNICODE --> LATIN2 -- UTF8 --> LATIN2
SELECT CONVERT('foo' USING utf_8_to_iso_8859_2); SELECT CONVERT('foo' USING utf8_to_iso_8859_2);
SELECT CONVERT('foo', 'UNICODE', 'LATIN2'); SELECT CONVERT('foo', 'UTF8', 'LATIN2');
-- LATIN2 --> UNICODE -- LATIN2 --> UTF8
SELECT CONVERT('foo' USING iso_8859_2_to_utf_8); SELECT CONVERT('foo' USING iso_8859_2_to_utf8);
SELECT CONVERT('foo', 'LATIN2', 'UNICODE'); SELECT CONVERT('foo', 'LATIN2', 'UTF8');
-- UNICODE --> LATIN3 -- UTF8 --> LATIN3
SELECT CONVERT('foo' USING utf_8_to_iso_8859_3); SELECT CONVERT('foo' USING utf8_to_iso_8859_3);
SELECT CONVERT('foo', 'UNICODE', 'LATIN3'); SELECT CONVERT('foo', 'UTF8', 'LATIN3');
-- LATIN3 --> UNICODE -- LATIN3 --> UTF8
SELECT CONVERT('foo' USING iso_8859_3_to_utf_8); SELECT CONVERT('foo' USING iso_8859_3_to_utf8);
SELECT CONVERT('foo', 'LATIN3', 'UNICODE'); SELECT CONVERT('foo', 'LATIN3', 'UTF8');
-- UNICODE --> LATIN4 -- UTF8 --> LATIN4
SELECT CONVERT('foo' USING utf_8_to_iso_8859_4); SELECT CONVERT('foo' USING utf8_to_iso_8859_4);
SELECT CONVERT('foo', 'UNICODE', 'LATIN4'); SELECT CONVERT('foo', 'UTF8', 'LATIN4');
-- LATIN4 --> UNICODE -- LATIN4 --> UTF8
SELECT CONVERT('foo' USING iso_8859_4_to_utf_8); SELECT CONVERT('foo' USING iso_8859_4_to_utf8);
SELECT CONVERT('foo', 'LATIN4', 'UNICODE'); SELECT CONVERT('foo', 'LATIN4', 'UTF8');
-- UNICODE --> LATIN5 -- UTF8 --> LATIN5
SELECT CONVERT('foo' USING utf_8_to_iso_8859_9); SELECT CONVERT('foo' USING utf8_to_iso_8859_9);
SELECT CONVERT('foo', 'UNICODE', 'LATIN5'); SELECT CONVERT('foo', 'UTF8', 'LATIN5');
-- LATIN5 --> UNICODE -- LATIN5 --> UTF8
SELECT CONVERT('foo' USING iso_8859_9_to_utf_8); SELECT CONVERT('foo' USING iso_8859_9_to_utf8);
SELECT CONVERT('foo', 'LATIN5', 'UNICODE'); SELECT CONVERT('foo', 'LATIN5', 'UTF8');
-- UNICODE --> LATIN6 -- UTF8 --> LATIN6
SELECT CONVERT('foo' USING utf_8_to_iso_8859_10); SELECT CONVERT('foo' USING utf8_to_iso_8859_10);
SELECT CONVERT('foo', 'UNICODE', 'LATIN6'); SELECT CONVERT('foo', 'UTF8', 'LATIN6');
-- LATIN6 --> UNICODE -- LATIN6 --> UTF8
SELECT CONVERT('foo' USING iso_8859_10_to_utf_8); SELECT CONVERT('foo' USING iso_8859_10_to_utf8);
SELECT CONVERT('foo', 'LATIN6', 'UNICODE'); SELECT CONVERT('foo', 'LATIN6', 'UTF8');
-- UNICODE --> LATIN7 -- UTF8 --> LATIN7
SELECT CONVERT('foo' USING utf_8_to_iso_8859_13); SELECT CONVERT('foo' USING utf8_to_iso_8859_13);
SELECT CONVERT('foo', 'UNICODE', 'LATIN7'); SELECT CONVERT('foo', 'UTF8', 'LATIN7');
-- LATIN7 --> UNICODE -- LATIN7 --> UTF8
SELECT CONVERT('foo' USING iso_8859_13_to_utf_8); SELECT CONVERT('foo' USING iso_8859_13_to_utf8);
SELECT CONVERT('foo', 'LATIN7', 'UNICODE'); SELECT CONVERT('foo', 'LATIN7', 'UTF8');
-- UNICODE --> LATIN8 -- UTF8 --> LATIN8
SELECT CONVERT('foo' USING utf_8_to_iso_8859_14); SELECT CONVERT('foo' USING utf8_to_iso_8859_14);
SELECT CONVERT('foo', 'UNICODE', 'LATIN8'); SELECT CONVERT('foo', 'UTF8', 'LATIN8');
-- LATIN8 --> UNICODE -- LATIN8 --> UTF8
SELECT CONVERT('foo' USING iso_8859_14_to_utf_8); SELECT CONVERT('foo' USING iso_8859_14_to_utf8);
SELECT CONVERT('foo', 'LATIN8', 'UNICODE'); SELECT CONVERT('foo', 'LATIN8', 'UTF8');
-- UNICODE --> LATIN9 -- UTF8 --> LATIN9
SELECT CONVERT('foo' USING utf_8_to_iso_8859_15); SELECT CONVERT('foo' USING utf8_to_iso_8859_15);
SELECT CONVERT('foo', 'UNICODE', 'LATIN9'); SELECT CONVERT('foo', 'UTF8', 'LATIN9');
-- LATIN9 --> UNICODE -- LATIN9 --> UTF8
SELECT CONVERT('foo' USING iso_8859_15_to_utf_8); SELECT CONVERT('foo' USING iso_8859_15_to_utf8);
SELECT CONVERT('foo', 'LATIN9', 'UNICODE'); SELECT CONVERT('foo', 'LATIN9', 'UTF8');
-- UNICODE --> LATIN10 -- UTF8 --> LATIN10
SELECT CONVERT('foo' USING utf_8_to_iso_8859_16); SELECT CONVERT('foo' USING utf8_to_iso_8859_16);
SELECT CONVERT('foo', 'UNICODE', 'LATIN10'); SELECT CONVERT('foo', 'UTF8', 'LATIN10');
-- LATIN10 --> UNICODE -- LATIN10 --> UTF8
SELECT CONVERT('foo' USING iso_8859_16_to_utf_8); SELECT CONVERT('foo' USING iso_8859_16_to_utf8);
SELECT CONVERT('foo', 'LATIN10', 'UNICODE'); SELECT CONVERT('foo', 'LATIN10', 'UTF8');
-- UNICODE --> ISO-8859-5 -- UTF8 --> ISO-8859-5
SELECT CONVERT('foo' USING utf_8_to_iso_8859_5); SELECT CONVERT('foo' USING utf8_to_iso_8859_5);
SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-5'); SELECT CONVERT('foo', 'UTF8', 'ISO-8859-5');
-- ISO-8859-5 --> UNICODE -- ISO-8859-5 --> UTF8
SELECT CONVERT('foo' USING iso_8859_5_to_utf_8); SELECT CONVERT('foo' USING iso_8859_5_to_utf8);
SELECT CONVERT('foo', 'ISO-8859-5', 'UNICODE'); SELECT CONVERT('foo', 'ISO-8859-5', 'UTF8');
-- UNICODE --> ISO-8859-6 -- UTF8 --> ISO-8859-6
SELECT CONVERT('foo' USING utf_8_to_iso_8859_6); SELECT CONVERT('foo' USING utf8_to_iso_8859_6);
SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-6'); SELECT CONVERT('foo', 'UTF8', 'ISO-8859-6');
-- ISO-8859-6 --> UNICODE -- ISO-8859-6 --> UTF8
SELECT CONVERT('foo' USING iso_8859_6_to_utf_8); SELECT CONVERT('foo' USING iso_8859_6_to_utf8);
SELECT CONVERT('foo', 'ISO-8859-6', 'UNICODE'); SELECT CONVERT('foo', 'ISO-8859-6', 'UTF8');
-- UNICODE --> ISO-8859-7 -- UTF8 --> ISO-8859-7
SELECT CONVERT('foo' USING utf_8_to_iso_8859_7); SELECT CONVERT('foo' USING utf8_to_iso_8859_7);
SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-7'); SELECT CONVERT('foo', 'UTF8', 'ISO-8859-7');
-- ISO-8859-7 --> UNICODE -- ISO-8859-7 --> UTF8
SELECT CONVERT('foo' USING iso_8859_7_to_utf_8); SELECT CONVERT('foo' USING iso_8859_7_to_utf8);
SELECT CONVERT('foo', 'ISO-8859-7', 'UNICODE'); SELECT CONVERT('foo', 'ISO-8859-7', 'UTF8');
-- UNICODE --> ISO-8859-8 -- UTF8 --> ISO-8859-8
SELECT CONVERT('foo' USING utf_8_to_iso_8859_8); SELECT CONVERT('foo' USING utf8_to_iso_8859_8);
SELECT CONVERT('foo', 'UNICODE', 'ISO-8859-8'); SELECT CONVERT('foo', 'UTF8', 'ISO-8859-8');
-- ISO-8859-8 --> UNICODE -- ISO-8859-8 --> UTF8
SELECT CONVERT('foo' USING iso_8859_8_to_utf_8); SELECT CONVERT('foo' USING iso_8859_8_to_utf8);
SELECT CONVERT('foo', 'ISO-8859-8', 'UNICODE'); SELECT CONVERT('foo', 'ISO-8859-8', 'UTF8');
-- LATIN1 --> UNICODE -- LATIN1 --> UTF8
SELECT CONVERT('foo' USING iso_8859_1_to_utf_8); SELECT CONVERT('foo' USING iso_8859_1_to_utf8);
SELECT CONVERT('foo', 'LATIN1', 'UNICODE'); SELECT CONVERT('foo', 'LATIN1', 'UTF8');
-- UNICODE --> LATIN1 -- UTF8 --> LATIN1
SELECT CONVERT('foo' USING utf_8_to_iso_8859_1); SELECT CONVERT('foo' USING utf8_to_iso_8859_1);
SELECT CONVERT('foo', 'UNICODE', 'LATIN1'); SELECT CONVERT('foo', 'UTF8', 'LATIN1');
-- JOHAB --> UNICODE -- JOHAB --> UTF8
SELECT CONVERT('foo' USING johab_to_utf_8); SELECT CONVERT('foo' USING johab_to_utf8);
SELECT CONVERT('foo', 'JOHAB', 'UNICODE'); SELECT CONVERT('foo', 'JOHAB', 'UTF8');
-- UNICODE --> JOHAB -- UTF8 --> JOHAB
SELECT CONVERT('foo' USING utf_8_to_johab); SELECT CONVERT('foo' USING utf8_to_johab);
SELECT CONVERT('foo', 'UNICODE', 'JOHAB'); SELECT CONVERT('foo', 'UTF8', 'JOHAB');
-- SJIS --> UNICODE -- SJIS --> UTF8
SELECT CONVERT('foo' USING sjis_to_utf_8); SELECT CONVERT('foo' USING sjis_to_utf8);
SELECT CONVERT('foo', 'SJIS', 'UNICODE'); SELECT CONVERT('foo', 'SJIS', 'UTF8');
-- UNICODE --> SJIS -- UTF8 --> SJIS
SELECT CONVERT('foo' USING utf_8_to_sjis); SELECT CONVERT('foo' USING utf8_to_sjis);
SELECT CONVERT('foo', 'UNICODE', 'SJIS'); SELECT CONVERT('foo', 'UTF8', 'SJIS');
-- TCVN --> UNICODE -- WIN1258 --> UTF8
SELECT CONVERT('foo' USING tcvn_to_utf_8); SELECT CONVERT('foo' USING win1258_to_utf8);
SELECT CONVERT('foo', 'TCVN', 'UNICODE'); SELECT CONVERT('foo', 'WIN1258', 'UTF8');
-- UNICODE --> TCVN -- UTF8 --> WIN1258
SELECT CONVERT('foo' USING utf_8_to_tcvn); SELECT CONVERT('foo' USING utf8_to_win1258);
SELECT CONVERT('foo', 'UNICODE', 'TCVN'); SELECT CONVERT('foo', 'UTF8', 'WIN1258');
-- UHC --> UNICODE -- UHC --> UTF8
SELECT CONVERT('foo' USING uhc_to_utf_8); SELECT CONVERT('foo' USING uhc_to_utf8);
SELECT CONVERT('foo', 'UHC', 'UNICODE'); SELECT CONVERT('foo', 'UHC', 'UTF8');
-- UNICODE --> UHC -- UTF8 --> UHC
SELECT CONVERT('foo' USING utf_8_to_uhc); SELECT CONVERT('foo' USING utf8_to_uhc);
SELECT CONVERT('foo', 'UNICODE', 'UHC'); SELECT CONVERT('foo', 'UTF8', 'UHC');
-- UNICODE --> WIN1250 -- UTF8 --> WIN1250
SELECT CONVERT('foo' USING utf_8_to_windows_1250); SELECT CONVERT('foo' USING utf8_to_windows_1250);
SELECT CONVERT('foo', 'UNICODE', 'WIN1250'); SELECT CONVERT('foo', 'UTF8', 'WIN1250');
-- WIN1250 --> UNICODE -- WIN1250 --> UTF8
SELECT CONVERT('foo' USING windows_1250_to_utf_8); SELECT CONVERT('foo' USING windows_1250_to_utf8);
SELECT CONVERT('foo', 'WIN1250', 'UNICODE'); SELECT CONVERT('foo', 'WIN1250', 'UTF8');
-- UNICODE --> WIN1256 -- UTF8 --> WIN1256
SELECT CONVERT('foo' USING utf_8_to_windows_1256); SELECT CONVERT('foo' USING utf8_to_windows_1256);
SELECT CONVERT('foo', 'UNICODE', 'WIN1256'); SELECT CONVERT('foo', 'UTF8', 'WIN1256');
-- WIN1256 --> UNICODE -- WIN1256 --> UTF8
SELECT CONVERT('foo' USING windows_1256_to_utf_8); SELECT CONVERT('foo' USING windows_1256_to_utf8);
SELECT CONVERT('foo', 'WIN1256', 'UNICODE'); SELECT CONVERT('foo', 'WIN1256', 'UTF8');
-- UNICODE --> WIN874 -- UTF8 --> WIN874
SELECT CONVERT('foo' USING utf_8_to_windows_874); SELECT CONVERT('foo' USING utf8_to_windows_874);
SELECT CONVERT('foo', 'UNICODE', 'WIN874'); SELECT CONVERT('foo', 'UTF8', 'WIN874');
-- WIN874 --> UNICODE -- WIN874 --> UTF8
SELECT CONVERT('foo' USING windows_874_to_utf_8); SELECT CONVERT('foo' USING windows_874_to_utf8);
SELECT CONVERT('foo', 'WIN874', 'UNICODE'); SELECT CONVERT('foo', 'WIN874', 'UTF8');
-- --
-- return to the super user -- return to the super user
-- --
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment