[前][次][番号順一覧][スレッド一覧]

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]