mysql:12593
From: Hirofumi Fujiwara <Hirofumi Fujiwara <fuji@xxxxxxxxxx>>
Date: Sun, 18 Dec 2005 21:10:41 +0900 (JST)
Subject: [mysql 12593] FUNCTIONの返す文字列型
藤原です
MySQL5.0.16 を使用しておりますが、FUNCTIONで日本語の文字列を返そうと
思っているのですが、CHARACTER SET の指定が有効になりません。
文字列 'こんにちは' を返す関数作ったら、以下のように動いたのですが、
CHARSETで文字列のCHARSETを調べたら、binaryでした。
mysql> CREATE FUNCTION hello () RETURNS CHAR(50)
-> RETURN 'こんにちは';
Query OK, 0 rows affected (0.02 sec)
mysql> SELECT hello();
+------------+
| hello() |
+------------+
| こんにちは |
+------------+
1 row in set (0.00 sec)
mysql> SELECT CHARSET(hello());
+------------------+
| CHARSET(hello()) |
+------------------+
| binary |
+------------------+
1 row in set (0.00 sec)
mysql>
mysql> CREATE FUNCTION hello () RETURNS CHAR(50) CHARACTER SET eucjpms
-> RETURN 'こんにちは';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT CHARSET(hello());
+------------------+
| CHARSET(hello()) |
+------------------+
| binary |
+------------------+
1 row in set (0.01 sec)
mysql>
ということで、eucjpmsの指定はエラーにならず受け付けられるのですが、
呼び出してキャラクタセットを見ると、やはり binary になってしまいます。
ちゃんとしたキャラクタセットを指定する方法はあるのでしょうか?
------------------------------------------------------------------
株式会社 タイムインターメディア 藤原 博文 fuji@xxxxxxxxxx
本社 160-0002 東京都新宿区坂町26-27 IPBビル TEL 03-5362-9009
URL http://www.timedia.co.jp/ FAX 03-5362-9008
地図 http://www.timedia.co.jp/company/map/ 新宿線曙橋駅徒歩5分
------------------------------------------------------------------
オープンソースWEB http://oss.timedia.co.jp/ 「MySQL日本語の旅」
------------------------------------------------------------------
-> 12593 2005-12-18 21:10 [Hirofumi Fujiwara <f] FUNCTIONの返す文字列型 12617 2006-01-04 16:05 ┗[Hirofumi Fujiwara <f] 12618 2006-01-04 18:50 ┗[Hirofumi Fujiwara <f] 12629 2006-01-10 22:03 ┗[Hirofumi Fujiwara <f]