- linkend="conversion-names"> for available conversion
- names. The
string must be valid in the
- source encoding.
-
- convert('PostgreSQL' using iso_8859_1_to_utf8)
- 'PostgreSQL' in UTF8 (Unicode, 8-bit) encoding
-
-
|
text
+
+
original encoding is specified by
string must be valid in this encoding.
+ Conversions can be defined by CREATE CONVERSION.
+ Also there are some pre-defined conversions. See
+ linkend="conversion-names"> for available conversions.
convert( 'text_in_utf8', 'UTF8', 'LATIN1')
text_in_utf8 represented in ISO 8859-1 encoding
-
+
CREATE CONVERSION defines a new conversion between
- character set encodings. Conversion names can be used in the
- convert function
- to specify a particular encoding conversion. Also, conversions that
+ character set encodings. Also, conversions that
are marked DEFAULT> can be used for automatic encoding
conversion between
client and server. For this purpose, two conversions, from encoding A to
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/catalog/pg_conversion.c,v 1.37 2007/09/18 17:41:17 adunstan Exp $
+ * $PostgreSQL: pgsql/src/backend/catalog/pg_conversion.c,v 1.38 2007/09/24 01:29:28 adunstan Exp $
*
*-------------------------------------------------------------------------
*/
return conoid;
}
-/*
- * Execute SQL99's CONVERT function.
- *
- * CONVERT
- * USING
- *
- * BYTEA convert_using(TEXT string, TEXT conversion_name)
- *
- * bytea is returned so we don't give a value that is
- * not valid in the database encoding.
- */
-Datum
-pg_convert_using(PG_FUNCTION_ARGS)
-{
- text *string = PG_GETARG_TEXT_P(0);
- text *conv_name = PG_GETARG_TEXT_P(1);
- text *retval;
- List *parsed_name;
- Oid convoid;
- HeapTuple tuple;
- Form_pg_conversion body;
- char *str;
- char *result;
- int len;
-
- /* Convert input string to null-terminated form */
- len = VARSIZE(string) - VARHDRSZ;
- str = palloc(len + 1);
- memcpy(str, VARDATA(string), len);
- *(str + len) = '\0';
-
- /* Look up the conversion name */
- parsed_name = textToQualifiedNameList(conv_name);
- convoid = FindConversionByName(parsed_name);
- if (!OidIsValid(convoid))
- ereport(ERROR,
- (errcode(ERRCODE_UNDEFINED_OBJECT),
- errmsg("conversion \"%s\" does not exist",
- NameListToString(parsed_name))));
-
- tuple = SearchSysCache(CONVOID,
- ObjectIdGetDatum(convoid),
- 0, 0, 0);
- if (!HeapTupleIsValid(tuple))
- elog(ERROR, "cache lookup failed for conversion %u", convoid);
- body = (Form_pg_conversion) GETSTRUCT(tuple);
-
- /* Temporary result area should be more than big enough */
- result = palloc(len * 4 + 1);
-
- OidFunctionCall5(body->conproc,
- Int32GetDatum(body->conforencoding),
- Int32GetDatum(body->contoencoding),
- CStringGetDatum(str),
- CStringGetDatum(result),
- Int32GetDatum(len));
-
- ReleaseSysCache(tuple);
-
- /*
- * build text result structure. we cannot use textin() here, since textin
- * assumes that input string encoding is same as database encoding.
- */
- len = strlen(result) + VARHDRSZ;
- retval = palloc(len);
- SET_VARSIZE(retval, len);
- memcpy(VARDATA(retval), result, len - VARHDRSZ);
-
- pfree(result);
- pfree(str);
-
- PG_RETURN_BYTEA_P(retval);
-}
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.602 2007/09/03 18:46:30 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.603 2007/09/24 01:29:28 adunstan Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
CHARACTER CHARACTERISTICS CHECK CHECKPOINT CLASS CLOSE
CLUSTER COALESCE COLLATE COLUMN COMMENT COMMIT
COMMITTED CONCURRENTLY CONFIGURATION CONNECTION CONSTRAINT CONSTRAINTS
- CONTENT_P CONVERSION_P CONVERT COPY COST CREATE CREATEDB
+ CONTENT_P CONVERSION_P COPY COST CREATE CREATEDB
CREATEROLE CREATEUSER CROSS CSV CURRENT_P CURRENT_DATE CURRENT_ROLE
CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR CYCLE
n->location = @1;
$$ = (Node *)n;
}
- | CONVERT '(' a_expr USING any_name ')'
- {
- FuncCall *n = makeNode(FuncCall);
- A_Const *c = makeNode(A_Const);
-
- c->val.type = T_String;
- c->val.val.str = NameListToQuotedString($5);
-
- n->funcname = SystemFuncName("convert_using");
- n->args = list_make2($3, c);
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->location = @1;
- $$ = (Node *)n;
- }
- | CONVERT '(' expr_list ')'
- {
- FuncCall *n = makeNode(FuncCall);
- n->funcname = SystemFuncName("convert");
- n->args = $3;
- n->agg_star = FALSE;
- n->agg_distinct = FALSE;
- n->location = @1;
- $$ = (Node *)n;
- }
| NULLIF '(' a_expr ',' a_expr ')'
{
$$ = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", $3, $5, @1);
| CHAR_P
| CHARACTER
| COALESCE
- | CONVERT
| DEC
| DECIMAL_P
| EXISTS
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/keywords.c,v 1.191 2007/08/21 15:13:42 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/keywords.c,v 1.192 2007/09/24 01:29:29 adunstan Exp $
*
*-------------------------------------------------------------------------
*/
{"constraints", CONSTRAINTS, UNRESERVED_KEYWORD},
{"content", CONTENT_P, UNRESERVED_KEYWORD},
{"conversion", CONVERSION_P, UNRESERVED_KEYWORD},
- {"convert", CONVERT, COL_NAME_KEYWORD},
{"copy", COPY, UNRESERVED_KEYWORD},
{"cost", COST, UNRESERVED_KEYWORD},
{"create", CREATE, RESERVED_KEYWORD},
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/catalog/pg_proc.h,v 1.471 2007/09/20 17:56:32 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/catalog/pg_proc.h,v 1.472 2007/09/24 01:29:29 adunstan Exp $
*
* NOTES
* The script catalog/genbki.sh reads this file and generates .bki
DATA(insert OID = 1813 ( convert PGNSP PGUID 12 1 0 f f t f s 3 17 "17 19 19" _null_ _null_ _null_ pg_convert - _null_ _null_ ));
DESCR("convert string with specified encoding names");
-DATA(insert OID = 1619 ( convert_using PGNSP PGUID 12 1 0 f f t f s 2 17 "25 25" _null_ _null_ _null_ pg_convert_using - _null_ _null_ ));
-DESCR("convert string with specified conversion name");
-
DATA(insert OID = 1264 ( pg_char_to_encoding PGNSP PGUID 12 1 0 f f t f s 1 23 "19" _null_ _null_ _null_ PG_char_to_encoding - _null_ _null_ ));
DESCR("convert encoding name to encoding id");
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/utils/builtins.h,v 1.303 2007/09/18 17:41:17 adunstan Exp $
+ * $PostgreSQL: pgsql/src/include/utils/builtins.h,v 1.304 2007/09/24 01:29:30 adunstan Exp $
*
*-------------------------------------------------------------------------
*/
/* access/transam/twophase.c */
extern Datum pg_prepared_xact(PG_FUNCTION_ARGS);
-/* catalog/pg_conversion.c */
-extern Datum pg_convert_using(PG_FUNCTION_ARGS);
-
/* commands/prepare.c */
extern Datum pg_prepared_statement(PG_FUNCTION_ARGS);
--
-- make sure all pre-defined conversions are fine.
-- SQL_ASCII --> MULE_INTERNAL
-SELECT CONVERT('foo' USING ascii_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'SQL_ASCII', 'MULE_INTERNAL');
convert
---------
(1 row)
-- MULE_INTERNAL --> SQL_ASCII
-SELECT CONVERT('foo' USING mic_to_ascii);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'SQL_ASCII');
convert
---------
(1 row)
-- KOI8R --> MULE_INTERNAL
-SELECT CONVERT('foo' USING koi8_r_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'KOI8R', 'MULE_INTERNAL');
convert
---------
(1 row)
-- MULE_INTERNAL --> KOI8R
-SELECT CONVERT('foo' USING mic_to_koi8_r);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'KOI8R');
convert
---------
(1 row)
-- ISO-8859-5 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING iso_8859_5_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'ISO-8859-5', 'MULE_INTERNAL');
convert
---------
(1 row)
-- MULE_INTERNAL --> ISO-8859-5
-SELECT CONVERT('foo' USING mic_to_iso_8859_5);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'ISO-8859-5');
convert
---------
(1 row)
-- WIN1251 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING windows_1251_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1251', 'MULE_INTERNAL');
convert
---------
(1 row)
-- MULE_INTERNAL --> WIN1251
-SELECT CONVERT('foo' USING mic_to_windows_1251);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1251');
convert
---------
(1 row)
-- WIN866 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING windows_866_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN866', 'MULE_INTERNAL');
convert
---------
(1 row)
-- MULE_INTERNAL --> WIN866
-SELECT CONVERT('foo' USING mic_to_windows_866);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN866');
convert
---------
(1 row)
-- KOI8R --> WIN1251
-SELECT CONVERT('foo' USING koi8_r_to_windows_1251);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'KOI8R', 'WIN1251');
convert
---------
(1 row)
-- WIN1251 --> KOI8R
-SELECT CONVERT('foo' USING windows_1251_to_koi8_r);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1251', 'KOI8R');
convert
---------
(1 row)
-- KOI8R --> WIN866
-SELECT CONVERT('foo' USING koi8_r_to_windows_866);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'KOI8R', 'WIN866');
convert
---------
(1 row)
-- WIN866 --> KOI8R
-SELECT CONVERT('foo' USING windows_866_to_koi8_r);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN866', 'KOI8R');
convert
---------
(1 row)
-- WIN866 --> WIN1251
-SELECT CONVERT('foo' USING windows_866_to_windows_1251);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN866', 'WIN1251');
convert
---------
(1 row)
-- WIN1251 --> WIN866
-SELECT CONVERT('foo' USING windows_1251_to_windows_866);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1251', 'WIN866');
convert
---------
(1 row)
-- ISO-8859-5 --> KOI8R
-SELECT CONVERT('foo' USING iso_8859_5_to_koi8_r);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'ISO-8859-5', 'KOI8R');
convert
---------
(1 row)
-- KOI8R --> ISO-8859-5
-SELECT CONVERT('foo' USING koi8_r_to_iso_8859_5);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'KOI8R', 'ISO-8859-5');
convert
---------
(1 row)
-- ISO-8859-5 --> WIN1251
-SELECT CONVERT('foo' USING iso_8859_5_to_windows_1251);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'ISO-8859-5', 'WIN1251');
convert
---------
(1 row)
-- WIN1251 --> ISO-8859-5
-SELECT CONVERT('foo' USING windows_1251_to_iso_8859_5);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1251', 'ISO-8859-5');
convert
---------
(1 row)
-- ISO-8859-5 --> WIN866
-SELECT CONVERT('foo' USING iso_8859_5_to_windows_866);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'ISO-8859-5', 'WIN866');
convert
---------
(1 row)
-- WIN866 --> ISO-8859-5
-SELECT CONVERT('foo' USING windows_866_to_iso_8859_5);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN866', 'ISO-8859-5');
convert
---------
(1 row)
-- EUC_CN --> MULE_INTERNAL
-SELECT CONVERT('foo' USING euc_cn_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'EUC_CN', 'MULE_INTERNAL');
convert
---------
(1 row)
-- MULE_INTERNAL --> EUC_CN
-SELECT CONVERT('foo' USING mic_to_euc_cn);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_CN');
convert
---------
(1 row)
-- EUC_JP --> SJIS
-SELECT CONVERT('foo' USING euc_jp_to_sjis);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'EUC_JP', 'SJIS');
convert
---------
(1 row)
-- SJIS --> EUC_JP
-SELECT CONVERT('foo' USING sjis_to_euc_jp);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'SJIS', 'EUC_JP');
convert
---------
(1 row)
-- EUC_JP --> MULE_INTERNAL
-SELECT CONVERT('foo' USING euc_jp_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'EUC_JP', 'MULE_INTERNAL');
convert
---------
(1 row)
-- SJIS --> MULE_INTERNAL
-SELECT CONVERT('foo' USING sjis_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'SJIS', 'MULE_INTERNAL');
convert
---------
(1 row)
-- MULE_INTERNAL --> EUC_JP
-SELECT CONVERT('foo' USING mic_to_euc_jp);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_JP');
convert
---------
(1 row)
-- MULE_INTERNAL --> SJIS
-SELECT CONVERT('foo' USING mic_to_sjis);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'SJIS');
convert
---------
(1 row)
-- EUC_KR --> MULE_INTERNAL
-SELECT CONVERT('foo' USING euc_kr_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'EUC_KR', 'MULE_INTERNAL');
convert
---------
(1 row)
-- MULE_INTERNAL --> EUC_KR
-SELECT CONVERT('foo' USING mic_to_euc_kr);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_KR');
convert
---------
(1 row)
-- EUC_TW --> BIG5
-SELECT CONVERT('foo' USING euc_tw_to_big5);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'EUC_TW', 'BIG5');
convert
---------
(1 row)
-- BIG5 --> EUC_TW
-SELECT CONVERT('foo' USING big5_to_euc_tw);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'BIG5', 'EUC_TW');
convert
---------
(1 row)
-- EUC_TW --> MULE_INTERNAL
-SELECT CONVERT('foo' USING euc_tw_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'EUC_TW', 'MULE_INTERNAL');
convert
---------
(1 row)
-- BIG5 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING big5_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'BIG5', 'MULE_INTERNAL');
convert
---------
(1 row)
-- MULE_INTERNAL --> EUC_TW
-SELECT CONVERT('foo' USING mic_to_euc_tw);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_TW');
convert
---------
(1 row)
-- MULE_INTERNAL --> BIG5
-SELECT CONVERT('foo' USING mic_to_big5);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'BIG5');
convert
---------
(1 row)
-- LATIN2 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING iso_8859_2_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN2', 'MULE_INTERNAL');
convert
---------
(1 row)
-- MULE_INTERNAL --> LATIN2
-SELECT CONVERT('foo' USING mic_to_iso_8859_2);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN2');
convert
---------
(1 row)
-- WIN1250 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING windows_1250_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1250', 'MULE_INTERNAL');
convert
---------
(1 row)
-- MULE_INTERNAL --> WIN1250
-SELECT CONVERT('foo' USING mic_to_windows_1250);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1250');
convert
---------
(1 row)
-- LATIN2 --> WIN1250
-SELECT CONVERT('foo' USING iso_8859_2_to_windows_1250);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN2', 'WIN1250');
convert
---------
(1 row)
-- WIN1250 --> LATIN2
-SELECT CONVERT('foo' USING windows_1250_to_iso_8859_2);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1250', 'LATIN2');
convert
---------
(1 row)
-- LATIN1 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING iso_8859_1_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN1', 'MULE_INTERNAL');
convert
---------
(1 row)
-- MULE_INTERNAL --> LATIN1
-SELECT CONVERT('foo' USING mic_to_iso_8859_1);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN1');
convert
---------
(1 row)
-- LATIN3 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING iso_8859_3_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN3', 'MULE_INTERNAL');
convert
---------
(1 row)
-- MULE_INTERNAL --> LATIN3
-SELECT CONVERT('foo' USING mic_to_iso_8859_3);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN3');
convert
---------
(1 row)
-- LATIN4 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING iso_8859_4_to_mic);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN4', 'MULE_INTERNAL');
convert
---------
(1 row)
-- MULE_INTERNAL --> LATIN4
-SELECT CONVERT('foo' USING mic_to_iso_8859_4);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN4');
convert
---------
(1 row)
-- SQL_ASCII --> UTF8
-SELECT CONVERT('foo' USING ascii_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'SQL_ASCII', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> SQL_ASCII
-SELECT CONVERT('foo' USING utf8_to_ascii);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'SQL_ASCII');
convert
---------
(1 row)
-- BIG5 --> UTF8
-SELECT CONVERT('foo' USING big5_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'BIG5', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> BIG5
-SELECT CONVERT('foo' USING utf8_to_big5);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'BIG5');
convert
---------
(1 row)
-- UTF8 --> KOI8R
-SELECT CONVERT('foo' USING utf8_to_koi8_r);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'KOI8R');
convert
---------
(1 row)
-- KOI8R --> UTF8
-SELECT CONVERT('foo' USING koi8_r_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'KOI8R', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> WIN1251
-SELECT CONVERT('foo' USING utf8_to_windows_1251);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'WIN1251');
convert
---------
(1 row)
-- WIN1251 --> UTF8
-SELECT CONVERT('foo' USING windows_1251_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1251', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> WIN1252
-SELECT CONVERT('foo' USING utf8_to_windows_1252);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'WIN1252');
convert
---------
(1 row)
-- WIN1252 --> UTF8
-SELECT CONVERT('foo' USING windows_1252_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1252', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> WIN866
-SELECT CONVERT('foo' USING utf8_to_windows_866);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'WIN866');
convert
---------
(1 row)
-- WIN866 --> UTF8
-SELECT CONVERT('foo' USING windows_866_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN866', 'UTF8');
convert
---------
(1 row)
-- EUC_CN --> UTF8
-SELECT CONVERT('foo' USING euc_cn_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'EUC_CN', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> EUC_CN
-SELECT CONVERT('foo' USING utf8_to_euc_cn);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'EUC_CN');
convert
---------
(1 row)
-- EUC_JP --> UTF8
-SELECT CONVERT('foo' USING euc_jp_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'EUC_JP', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> EUC_JP
-SELECT CONVERT('foo' USING utf8_to_euc_jp);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'EUC_JP');
convert
---------
(1 row)
-- EUC_KR --> UTF8
-SELECT CONVERT('foo' USING euc_kr_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'EUC_KR', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> EUC_KR
-SELECT CONVERT('foo' USING utf8_to_euc_kr);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'EUC_KR');
convert
---------
(1 row)
-- EUC_TW --> UTF8
-SELECT CONVERT('foo' USING euc_tw_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'EUC_TW', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> EUC_TW
-SELECT CONVERT('foo' USING utf8_to_euc_tw);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'EUC_TW');
convert
---------
(1 row)
-- GB18030 --> UTF8
-SELECT CONVERT('foo' USING gb18030_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'GB18030', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> GB18030
-SELECT CONVERT('foo' USING utf8_to_gb18030);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'GB18030');
convert
---------
(1 row)
-- GBK --> UTF8
-SELECT CONVERT('foo' USING gbk_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'GBK', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> GBK
-SELECT CONVERT('foo' USING utf8_to_gbk);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'GBK');
convert
---------
(1 row)
-- UTF8 --> LATIN2
-SELECT CONVERT('foo' USING utf8_to_iso_8859_2);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'LATIN2');
convert
---------
(1 row)
-- LATIN2 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_2_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN2', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> LATIN3
-SELECT CONVERT('foo' USING utf8_to_iso_8859_3);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'LATIN3');
convert
---------
(1 row)
-- LATIN3 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_3_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN3', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> LATIN4
-SELECT CONVERT('foo' USING utf8_to_iso_8859_4);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'LATIN4');
convert
---------
(1 row)
-- LATIN4 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_4_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN4', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> LATIN5
-SELECT CONVERT('foo' USING utf8_to_iso_8859_9);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'LATIN5');
convert
---------
(1 row)
-- LATIN5 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_9_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN5', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> LATIN6
-SELECT CONVERT('foo' USING utf8_to_iso_8859_10);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'LATIN6');
convert
---------
(1 row)
-- LATIN6 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_10_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN6', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> LATIN7
-SELECT CONVERT('foo' USING utf8_to_iso_8859_13);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'LATIN7');
convert
---------
(1 row)
-- LATIN7 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_13_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN7', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> LATIN8
-SELECT CONVERT('foo' USING utf8_to_iso_8859_14);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'LATIN8');
convert
---------
(1 row)
-- LATIN8 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_14_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN8', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> LATIN9
-SELECT CONVERT('foo' USING utf8_to_iso_8859_15);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'LATIN9');
convert
---------
(1 row)
-- LATIN9 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_15_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN9', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> LATIN10
-SELECT CONVERT('foo' USING utf8_to_iso_8859_16);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'LATIN10');
convert
---------
(1 row)
-- LATIN10 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_16_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN10', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> ISO-8859-5
-SELECT CONVERT('foo' USING utf8_to_iso_8859_5);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'ISO-8859-5');
convert
---------
(1 row)
-- ISO-8859-5 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_5_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'ISO-8859-5', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> ISO-8859-6
-SELECT CONVERT('foo' USING utf8_to_iso_8859_6);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'ISO-8859-6');
convert
---------
(1 row)
-- ISO-8859-6 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_6_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'ISO-8859-6', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> ISO-8859-7
-SELECT CONVERT('foo' USING utf8_to_iso_8859_7);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'ISO-8859-7');
convert
---------
(1 row)
-- ISO-8859-7 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_7_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'ISO-8859-7', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> ISO-8859-8
-SELECT CONVERT('foo' USING utf8_to_iso_8859_8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'ISO-8859-8');
convert
---------
(1 row)
-- ISO-8859-8 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_8_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'ISO-8859-8', 'UTF8');
convert
---------
(1 row)
-- LATIN1 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_1_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'LATIN1', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> LATIN1
-SELECT CONVERT('foo' USING utf8_to_iso_8859_1);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'LATIN1');
convert
---------
(1 row)
-- JOHAB --> UTF8
-SELECT CONVERT('foo' USING johab_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'JOHAB', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> JOHAB
-SELECT CONVERT('foo' USING utf8_to_johab);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'JOHAB');
convert
---------
(1 row)
-- SJIS --> UTF8
-SELECT CONVERT('foo' USING sjis_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'SJIS', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> SJIS
-SELECT CONVERT('foo' USING utf8_to_sjis);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'SJIS');
convert
---------
(1 row)
-- WIN1258 --> UTF8
-SELECT CONVERT('foo' USING windows_1258_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1258', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> WIN1258
-SELECT CONVERT('foo' USING utf8_to_windows_1258);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'WIN1258');
convert
---------
(1 row)
-- UHC --> UTF8
-SELECT CONVERT('foo' USING uhc_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UHC', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> UHC
-SELECT CONVERT('foo' USING utf8_to_uhc);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'UHC');
convert
---------
(1 row)
-- UTF8 --> WIN1250
-SELECT CONVERT('foo' USING utf8_to_windows_1250);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'WIN1250');
convert
---------
(1 row)
-- WIN1250 --> UTF8
-SELECT CONVERT('foo' USING windows_1250_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1250', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> WIN1256
-SELECT CONVERT('foo' USING utf8_to_windows_1256);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'WIN1256');
convert
---------
(1 row)
-- WIN1256 --> UTF8
-SELECT CONVERT('foo' USING windows_1256_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1256', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> WIN874
-SELECT CONVERT('foo' USING utf8_to_windows_874);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'WIN874');
convert
---------
(1 row)
-- WIN874 --> UTF8
-SELECT CONVERT('foo' USING windows_874_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN874', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> WIN1253
-SELECT CONVERT('foo' USING utf8_to_windows_1253);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'WIN1253');
convert
---------
(1 row)
-- WIN1253 --> UTF8
-SELECT CONVERT('foo' USING windows_1253_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1253', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> WIN1254
-SELECT CONVERT('foo' USING utf8_to_windows_1254);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'WIN1254');
convert
---------
(1 row)
-- WIN1254 --> UTF8
-SELECT CONVERT('foo' USING windows_1254_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1254', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> WIN1255
-SELECT CONVERT('foo' USING utf8_to_windows_1255);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'WIN1255');
convert
---------
(1 row)
-- WIN1255 --> UTF8
-SELECT CONVERT('foo' USING windows_1255_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1255', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> WIN1257
-SELECT CONVERT('foo' USING utf8_to_windows_1257);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'WIN1257');
convert
---------
(1 row)
-- WIN1257 --> UTF8
-SELECT CONVERT('foo' USING windows_1257_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'WIN1257', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> EUC_JIS_2004
-SELECT CONVERT('foo' USING utf8_to_euc_jis_2004);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'EUC_JIS_2004');
convert
---------
(1 row)
-- EUC_JIS_2004 --> UTF8
-SELECT CONVERT('foo' USING euc_jis_2004_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'EUC_JIS_2004', 'UTF8');
convert
---------
(1 row)
-- UTF8 --> SHIFT_JIS_2004
-SELECT CONVERT('foo' USING utf8_to_euc_jis_2004);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'UTF8', 'SHIFT_JIS_2004');
convert
---------
(1 row)
-- SHIFT_JIS_2004 --> UTF8
-SELECT CONVERT('foo' USING shift_jis_2004_to_utf8);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'SHIFT_JIS_2004', 'UTF8');
convert
---------
(1 row)
-- EUC_JIS_2004 --> SHIFT_JIS_2004
-SELECT CONVERT('foo' USING euc_jis_2004_to_shift_jis_2004);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'EUC_JIS_2004', 'SHIFT_JIS_2004');
convert
---------
(1 row)
-- SHIFT_JIS_2004 --> EUC_JIS_2004
-SELECT CONVERT('foo' USING shift_jis_2004_to_euc_jis_2004);
- convert_using
----------------
- foo
-(1 row)
-
SELECT CONVERT('foo', 'SHIFT_JIS_2004', 'EUC_JIS_2004');
convert
---------
--
-- make sure all pre-defined conversions are fine.
-- SQL_ASCII --> MULE_INTERNAL
-SELECT CONVERT('foo' USING ascii_to_mic);
SELECT CONVERT('foo', 'SQL_ASCII', 'MULE_INTERNAL');
-- MULE_INTERNAL --> SQL_ASCII
-SELECT CONVERT('foo' USING mic_to_ascii);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'SQL_ASCII');
-- KOI8R --> MULE_INTERNAL
-SELECT CONVERT('foo' USING koi8_r_to_mic);
SELECT CONVERT('foo', 'KOI8R', 'MULE_INTERNAL');
-- MULE_INTERNAL --> KOI8R
-SELECT CONVERT('foo' USING mic_to_koi8_r);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'KOI8R');
-- ISO-8859-5 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING iso_8859_5_to_mic);
SELECT CONVERT('foo', 'ISO-8859-5', 'MULE_INTERNAL');
-- MULE_INTERNAL --> ISO-8859-5
-SELECT CONVERT('foo' USING mic_to_iso_8859_5);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'ISO-8859-5');
-- WIN1251 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING windows_1251_to_mic);
SELECT CONVERT('foo', 'WIN1251', 'MULE_INTERNAL');
-- MULE_INTERNAL --> WIN1251
-SELECT CONVERT('foo' USING mic_to_windows_1251);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1251');
-- WIN866 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING windows_866_to_mic);
SELECT CONVERT('foo', 'WIN866', 'MULE_INTERNAL');
-- MULE_INTERNAL --> WIN866
-SELECT CONVERT('foo' USING mic_to_windows_866);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN866');
-- KOI8R --> WIN1251
-SELECT CONVERT('foo' USING koi8_r_to_windows_1251);
SELECT CONVERT('foo', 'KOI8R', 'WIN1251');
-- WIN1251 --> KOI8R
-SELECT CONVERT('foo' USING windows_1251_to_koi8_r);
SELECT CONVERT('foo', 'WIN1251', 'KOI8R');
-- KOI8R --> WIN866
-SELECT CONVERT('foo' USING koi8_r_to_windows_866);
SELECT CONVERT('foo', 'KOI8R', 'WIN866');
-- WIN866 --> KOI8R
-SELECT CONVERT('foo' USING windows_866_to_koi8_r);
SELECT CONVERT('foo', 'WIN866', 'KOI8R');
-- WIN866 --> WIN1251
-SELECT CONVERT('foo' USING windows_866_to_windows_1251);
SELECT CONVERT('foo', 'WIN866', 'WIN1251');
-- WIN1251 --> WIN866
-SELECT CONVERT('foo' USING windows_1251_to_windows_866);
SELECT CONVERT('foo', 'WIN1251', 'WIN866');
-- ISO-8859-5 --> KOI8R
-SELECT CONVERT('foo' USING iso_8859_5_to_koi8_r);
SELECT CONVERT('foo', 'ISO-8859-5', 'KOI8R');
-- KOI8R --> ISO-8859-5
-SELECT CONVERT('foo' USING koi8_r_to_iso_8859_5);
SELECT CONVERT('foo', 'KOI8R', 'ISO-8859-5');
-- ISO-8859-5 --> WIN1251
-SELECT CONVERT('foo' USING iso_8859_5_to_windows_1251);
SELECT CONVERT('foo', 'ISO-8859-5', 'WIN1251');
-- WIN1251 --> ISO-8859-5
-SELECT CONVERT('foo' USING windows_1251_to_iso_8859_5);
SELECT CONVERT('foo', 'WIN1251', 'ISO-8859-5');
-- ISO-8859-5 --> WIN866
-SELECT CONVERT('foo' USING iso_8859_5_to_windows_866);
SELECT CONVERT('foo', 'ISO-8859-5', 'WIN866');
-- WIN866 --> ISO-8859-5
-SELECT CONVERT('foo' USING windows_866_to_iso_8859_5);
SELECT CONVERT('foo', 'WIN866', 'ISO-8859-5');
-- EUC_CN --> MULE_INTERNAL
-SELECT CONVERT('foo' USING euc_cn_to_mic);
SELECT CONVERT('foo', 'EUC_CN', 'MULE_INTERNAL');
-- MULE_INTERNAL --> EUC_CN
-SELECT CONVERT('foo' USING mic_to_euc_cn);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_CN');
-- EUC_JP --> SJIS
-SELECT CONVERT('foo' USING euc_jp_to_sjis);
SELECT CONVERT('foo', 'EUC_JP', 'SJIS');
-- SJIS --> EUC_JP
-SELECT CONVERT('foo' USING sjis_to_euc_jp);
SELECT CONVERT('foo', 'SJIS', 'EUC_JP');
-- EUC_JP --> MULE_INTERNAL
-SELECT CONVERT('foo' USING euc_jp_to_mic);
SELECT CONVERT('foo', 'EUC_JP', 'MULE_INTERNAL');
-- SJIS --> MULE_INTERNAL
-SELECT CONVERT('foo' USING sjis_to_mic);
SELECT CONVERT('foo', 'SJIS', 'MULE_INTERNAL');
-- MULE_INTERNAL --> EUC_JP
-SELECT CONVERT('foo' USING mic_to_euc_jp);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_JP');
-- MULE_INTERNAL --> SJIS
-SELECT CONVERT('foo' USING mic_to_sjis);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'SJIS');
-- EUC_KR --> MULE_INTERNAL
-SELECT CONVERT('foo' USING euc_kr_to_mic);
SELECT CONVERT('foo', 'EUC_KR', 'MULE_INTERNAL');
-- MULE_INTERNAL --> EUC_KR
-SELECT CONVERT('foo' USING mic_to_euc_kr);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_KR');
-- EUC_TW --> BIG5
-SELECT CONVERT('foo' USING euc_tw_to_big5);
SELECT CONVERT('foo', 'EUC_TW', 'BIG5');
-- BIG5 --> EUC_TW
-SELECT CONVERT('foo' USING big5_to_euc_tw);
SELECT CONVERT('foo', 'BIG5', 'EUC_TW');
-- EUC_TW --> MULE_INTERNAL
-SELECT CONVERT('foo' USING euc_tw_to_mic);
SELECT CONVERT('foo', 'EUC_TW', 'MULE_INTERNAL');
-- BIG5 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING big5_to_mic);
SELECT CONVERT('foo', 'BIG5', 'MULE_INTERNAL');
-- MULE_INTERNAL --> EUC_TW
-SELECT CONVERT('foo' USING mic_to_euc_tw);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'EUC_TW');
-- MULE_INTERNAL --> BIG5
-SELECT CONVERT('foo' USING mic_to_big5);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'BIG5');
-- LATIN2 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING iso_8859_2_to_mic);
SELECT CONVERT('foo', 'LATIN2', 'MULE_INTERNAL');
-- MULE_INTERNAL --> LATIN2
-SELECT CONVERT('foo' USING mic_to_iso_8859_2);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN2');
-- WIN1250 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING windows_1250_to_mic);
SELECT CONVERT('foo', 'WIN1250', 'MULE_INTERNAL');
-- MULE_INTERNAL --> WIN1250
-SELECT CONVERT('foo' USING mic_to_windows_1250);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'WIN1250');
-- LATIN2 --> WIN1250
-SELECT CONVERT('foo' USING iso_8859_2_to_windows_1250);
SELECT CONVERT('foo', 'LATIN2', 'WIN1250');
-- WIN1250 --> LATIN2
-SELECT CONVERT('foo' USING windows_1250_to_iso_8859_2);
SELECT CONVERT('foo', 'WIN1250', 'LATIN2');
-- LATIN1 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING iso_8859_1_to_mic);
SELECT CONVERT('foo', 'LATIN1', 'MULE_INTERNAL');
-- MULE_INTERNAL --> LATIN1
-SELECT CONVERT('foo' USING mic_to_iso_8859_1);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN1');
-- LATIN3 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING iso_8859_3_to_mic);
SELECT CONVERT('foo', 'LATIN3', 'MULE_INTERNAL');
-- MULE_INTERNAL --> LATIN3
-SELECT CONVERT('foo' USING mic_to_iso_8859_3);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN3');
-- LATIN4 --> MULE_INTERNAL
-SELECT CONVERT('foo' USING iso_8859_4_to_mic);
SELECT CONVERT('foo', 'LATIN4', 'MULE_INTERNAL');
-- MULE_INTERNAL --> LATIN4
-SELECT CONVERT('foo' USING mic_to_iso_8859_4);
SELECT CONVERT('foo', 'MULE_INTERNAL', 'LATIN4');
-- SQL_ASCII --> UTF8
-SELECT CONVERT('foo' USING ascii_to_utf8);
SELECT CONVERT('foo', 'SQL_ASCII', 'UTF8');
-- UTF8 --> SQL_ASCII
-SELECT CONVERT('foo' USING utf8_to_ascii);
SELECT CONVERT('foo', 'UTF8', 'SQL_ASCII');
-- BIG5 --> UTF8
-SELECT CONVERT('foo' USING big5_to_utf8);
SELECT CONVERT('foo', 'BIG5', 'UTF8');
-- UTF8 --> BIG5
-SELECT CONVERT('foo' USING utf8_to_big5);
SELECT CONVERT('foo', 'UTF8', 'BIG5');
-- UTF8 --> KOI8R
-SELECT CONVERT('foo' USING utf8_to_koi8_r);
SELECT CONVERT('foo', 'UTF8', 'KOI8R');
-- KOI8R --> UTF8
-SELECT CONVERT('foo' USING koi8_r_to_utf8);
SELECT CONVERT('foo', 'KOI8R', 'UTF8');
-- UTF8 --> WIN1251
-SELECT CONVERT('foo' USING utf8_to_windows_1251);
SELECT CONVERT('foo', 'UTF8', 'WIN1251');
-- WIN1251 --> UTF8
-SELECT CONVERT('foo' USING windows_1251_to_utf8);
SELECT CONVERT('foo', 'WIN1251', 'UTF8');
-- UTF8 --> WIN1252
-SELECT CONVERT('foo' USING utf8_to_windows_1252);
SELECT CONVERT('foo', 'UTF8', 'WIN1252');
-- WIN1252 --> UTF8
-SELECT CONVERT('foo' USING windows_1252_to_utf8);
SELECT CONVERT('foo', 'WIN1252', 'UTF8');
-- UTF8 --> WIN866
-SELECT CONVERT('foo' USING utf8_to_windows_866);
SELECT CONVERT('foo', 'UTF8', 'WIN866');
-- WIN866 --> UTF8
-SELECT CONVERT('foo' USING windows_866_to_utf8);
SELECT CONVERT('foo', 'WIN866', 'UTF8');
-- EUC_CN --> UTF8
-SELECT CONVERT('foo' USING euc_cn_to_utf8);
SELECT CONVERT('foo', 'EUC_CN', 'UTF8');
-- UTF8 --> EUC_CN
-SELECT CONVERT('foo' USING utf8_to_euc_cn);
SELECT CONVERT('foo', 'UTF8', 'EUC_CN');
-- EUC_JP --> UTF8
-SELECT CONVERT('foo' USING euc_jp_to_utf8);
SELECT CONVERT('foo', 'EUC_JP', 'UTF8');
-- UTF8 --> EUC_JP
-SELECT CONVERT('foo' USING utf8_to_euc_jp);
SELECT CONVERT('foo', 'UTF8', 'EUC_JP');
-- EUC_KR --> UTF8
-SELECT CONVERT('foo' USING euc_kr_to_utf8);
SELECT CONVERT('foo', 'EUC_KR', 'UTF8');
-- UTF8 --> EUC_KR
-SELECT CONVERT('foo' USING utf8_to_euc_kr);
SELECT CONVERT('foo', 'UTF8', 'EUC_KR');
-- EUC_TW --> UTF8
-SELECT CONVERT('foo' USING euc_tw_to_utf8);
SELECT CONVERT('foo', 'EUC_TW', 'UTF8');
-- UTF8 --> EUC_TW
-SELECT CONVERT('foo' USING utf8_to_euc_tw);
SELECT CONVERT('foo', 'UTF8', 'EUC_TW');
-- GB18030 --> UTF8
-SELECT CONVERT('foo' USING gb18030_to_utf8);
SELECT CONVERT('foo', 'GB18030', 'UTF8');
-- UTF8 --> GB18030
-SELECT CONVERT('foo' USING utf8_to_gb18030);
SELECT CONVERT('foo', 'UTF8', 'GB18030');
-- GBK --> UTF8
-SELECT CONVERT('foo' USING gbk_to_utf8);
SELECT CONVERT('foo', 'GBK', 'UTF8');
-- UTF8 --> GBK
-SELECT CONVERT('foo' USING utf8_to_gbk);
SELECT CONVERT('foo', 'UTF8', 'GBK');
-- UTF8 --> LATIN2
-SELECT CONVERT('foo' USING utf8_to_iso_8859_2);
SELECT CONVERT('foo', 'UTF8', 'LATIN2');
-- LATIN2 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_2_to_utf8);
SELECT CONVERT('foo', 'LATIN2', 'UTF8');
-- UTF8 --> LATIN3
-SELECT CONVERT('foo' USING utf8_to_iso_8859_3);
SELECT CONVERT('foo', 'UTF8', 'LATIN3');
-- LATIN3 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_3_to_utf8);
SELECT CONVERT('foo', 'LATIN3', 'UTF8');
-- UTF8 --> LATIN4
-SELECT CONVERT('foo' USING utf8_to_iso_8859_4);
SELECT CONVERT('foo', 'UTF8', 'LATIN4');
-- LATIN4 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_4_to_utf8);
SELECT CONVERT('foo', 'LATIN4', 'UTF8');
-- UTF8 --> LATIN5
-SELECT CONVERT('foo' USING utf8_to_iso_8859_9);
SELECT CONVERT('foo', 'UTF8', 'LATIN5');
-- LATIN5 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_9_to_utf8);
SELECT CONVERT('foo', 'LATIN5', 'UTF8');
-- UTF8 --> LATIN6
-SELECT CONVERT('foo' USING utf8_to_iso_8859_10);
SELECT CONVERT('foo', 'UTF8', 'LATIN6');
-- LATIN6 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_10_to_utf8);
SELECT CONVERT('foo', 'LATIN6', 'UTF8');
-- UTF8 --> LATIN7
-SELECT CONVERT('foo' USING utf8_to_iso_8859_13);
SELECT CONVERT('foo', 'UTF8', 'LATIN7');
-- LATIN7 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_13_to_utf8);
SELECT CONVERT('foo', 'LATIN7', 'UTF8');
-- UTF8 --> LATIN8
-SELECT CONVERT('foo' USING utf8_to_iso_8859_14);
SELECT CONVERT('foo', 'UTF8', 'LATIN8');
-- LATIN8 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_14_to_utf8);
SELECT CONVERT('foo', 'LATIN8', 'UTF8');
-- UTF8 --> LATIN9
-SELECT CONVERT('foo' USING utf8_to_iso_8859_15);
SELECT CONVERT('foo', 'UTF8', 'LATIN9');
-- LATIN9 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_15_to_utf8);
SELECT CONVERT('foo', 'LATIN9', 'UTF8');
-- UTF8 --> LATIN10
-SELECT CONVERT('foo' USING utf8_to_iso_8859_16);
SELECT CONVERT('foo', 'UTF8', 'LATIN10');
-- LATIN10 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_16_to_utf8);
SELECT CONVERT('foo', 'LATIN10', 'UTF8');
-- UTF8 --> ISO-8859-5
-SELECT CONVERT('foo' USING utf8_to_iso_8859_5);
SELECT CONVERT('foo', 'UTF8', 'ISO-8859-5');
-- ISO-8859-5 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_5_to_utf8);
SELECT CONVERT('foo', 'ISO-8859-5', 'UTF8');
-- UTF8 --> ISO-8859-6
-SELECT CONVERT('foo' USING utf8_to_iso_8859_6);
SELECT CONVERT('foo', 'UTF8', 'ISO-8859-6');
-- ISO-8859-6 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_6_to_utf8);
SELECT CONVERT('foo', 'ISO-8859-6', 'UTF8');
-- UTF8 --> ISO-8859-7
-SELECT CONVERT('foo' USING utf8_to_iso_8859_7);
SELECT CONVERT('foo', 'UTF8', 'ISO-8859-7');
-- ISO-8859-7 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_7_to_utf8);
SELECT CONVERT('foo', 'ISO-8859-7', 'UTF8');
-- UTF8 --> ISO-8859-8
-SELECT CONVERT('foo' USING utf8_to_iso_8859_8);
SELECT CONVERT('foo', 'UTF8', 'ISO-8859-8');
-- ISO-8859-8 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_8_to_utf8);
SELECT CONVERT('foo', 'ISO-8859-8', 'UTF8');
-- LATIN1 --> UTF8
-SELECT CONVERT('foo' USING iso_8859_1_to_utf8);
SELECT CONVERT('foo', 'LATIN1', 'UTF8');
-- UTF8 --> LATIN1
-SELECT CONVERT('foo' USING utf8_to_iso_8859_1);
SELECT CONVERT('foo', 'UTF8', 'LATIN1');
-- JOHAB --> UTF8
-SELECT CONVERT('foo' USING johab_to_utf8);
SELECT CONVERT('foo', 'JOHAB', 'UTF8');
-- UTF8 --> JOHAB
-SELECT CONVERT('foo' USING utf8_to_johab);
SELECT CONVERT('foo', 'UTF8', 'JOHAB');
-- SJIS --> UTF8
-SELECT CONVERT('foo' USING sjis_to_utf8);
SELECT CONVERT('foo', 'SJIS', 'UTF8');
-- UTF8 --> SJIS
-SELECT CONVERT('foo' USING utf8_to_sjis);
SELECT CONVERT('foo', 'UTF8', 'SJIS');
-- WIN1258 --> UTF8
-SELECT CONVERT('foo' USING windows_1258_to_utf8);
SELECT CONVERT('foo', 'WIN1258', 'UTF8');
-- UTF8 --> WIN1258
-SELECT CONVERT('foo' USING utf8_to_windows_1258);
SELECT CONVERT('foo', 'UTF8', 'WIN1258');
-- UHC --> UTF8
-SELECT CONVERT('foo' USING uhc_to_utf8);
SELECT CONVERT('foo', 'UHC', 'UTF8');
-- UTF8 --> UHC
-SELECT CONVERT('foo' USING utf8_to_uhc);
SELECT CONVERT('foo', 'UTF8', 'UHC');
-- UTF8 --> WIN1250
-SELECT CONVERT('foo' USING utf8_to_windows_1250);
SELECT CONVERT('foo', 'UTF8', 'WIN1250');
-- WIN1250 --> UTF8
-SELECT CONVERT('foo' USING windows_1250_to_utf8);
SELECT CONVERT('foo', 'WIN1250', 'UTF8');
-- UTF8 --> WIN1256
-SELECT CONVERT('foo' USING utf8_to_windows_1256);
SELECT CONVERT('foo', 'UTF8', 'WIN1256');
-- WIN1256 --> UTF8
-SELECT CONVERT('foo' USING windows_1256_to_utf8);
SELECT CONVERT('foo', 'WIN1256', 'UTF8');
-- UTF8 --> WIN874
-SELECT CONVERT('foo' USING utf8_to_windows_874);
SELECT CONVERT('foo', 'UTF8', 'WIN874');
-- WIN874 --> UTF8
-SELECT CONVERT('foo' USING windows_874_to_utf8);
SELECT CONVERT('foo', 'WIN874', 'UTF8');
-- UTF8 --> WIN1253
-SELECT CONVERT('foo' USING utf8_to_windows_1253);
SELECT CONVERT('foo', 'UTF8', 'WIN1253');
-- WIN1253 --> UTF8
-SELECT CONVERT('foo' USING windows_1253_to_utf8);
SELECT CONVERT('foo', 'WIN1253', 'UTF8');
-- UTF8 --> WIN1254
-SELECT CONVERT('foo' USING utf8_to_windows_1254);
SELECT CONVERT('foo', 'UTF8', 'WIN1254');
-- WIN1254 --> UTF8
-SELECT CONVERT('foo' USING windows_1254_to_utf8);
SELECT CONVERT('foo', 'WIN1254', 'UTF8');
-- UTF8 --> WIN1255
-SELECT CONVERT('foo' USING utf8_to_windows_1255);
SELECT CONVERT('foo', 'UTF8', 'WIN1255');
-- WIN1255 --> UTF8
-SELECT CONVERT('foo' USING windows_1255_to_utf8);
SELECT CONVERT('foo', 'WIN1255', 'UTF8');
-- UTF8 --> WIN1257
-SELECT CONVERT('foo' USING utf8_to_windows_1257);
SELECT CONVERT('foo', 'UTF8', 'WIN1257');
-- WIN1257 --> UTF8
-SELECT CONVERT('foo' USING windows_1257_to_utf8);
SELECT CONVERT('foo', 'WIN1257', 'UTF8');
-- UTF8 --> EUC_JIS_2004
-SELECT CONVERT('foo' USING utf8_to_euc_jis_2004);
SELECT CONVERT('foo', 'UTF8', 'EUC_JIS_2004');
-- EUC_JIS_2004 --> UTF8
-SELECT CONVERT('foo' USING euc_jis_2004_to_utf8);
SELECT CONVERT('foo', 'EUC_JIS_2004', 'UTF8');
-- UTF8 --> SHIFT_JIS_2004
-SELECT CONVERT('foo' USING utf8_to_euc_jis_2004);
SELECT CONVERT('foo', 'UTF8', 'SHIFT_JIS_2004');
-- SHIFT_JIS_2004 --> UTF8
-SELECT CONVERT('foo' USING shift_jis_2004_to_utf8);
SELECT CONVERT('foo', 'SHIFT_JIS_2004', 'UTF8');
-- EUC_JIS_2004 --> SHIFT_JIS_2004
-SELECT CONVERT('foo' USING euc_jis_2004_to_shift_jis_2004);
SELECT CONVERT('foo', 'EUC_JIS_2004', 'SHIFT_JIS_2004');
-- SHIFT_JIS_2004 --> EUC_JIS_2004
-SELECT CONVERT('foo' USING shift_jis_2004_to_euc_jis_2004);
SELECT CONVERT('foo', 'SHIFT_JIS_2004', 'EUC_JIS_2004');
--
-- return to the super user