テーブル名に2バイト目'60'文字を使用するとmysqlclientがいかれる件
http://bugs.mysql.com/bug.php?id=15338
MyNAのML(日本MySQLユーザ会メーリングリスト、いわゆるmysqlの日本人メーリングリスト最大手)にて報告されていた2バイト目が'60'の文字がテーブル名で使用できない件についてのバグ報告だが,Mr.CharsetことAlexander Barkov氏によって「単なるcharset設定ミス」と判定されてしまった(not a bug).
だから,違うってのにw
charsetなんてBugReport書く前からこっちはチェック済みで,charsetの設定とは無関係に発生するからレポートにもcharsetの話を「わざと抜いて行った」のに・・・!
charsetは関係ないですよって明記しとかなきゃいかんかったのかな orz
敢えて言うなら,これはcharacter_set_system的問題なわけなので,ユーザからは手出しができない話ということだと思うのだけれども.
自分に本体弄って直せる技術力があればなー.やってみたいけどWindows上でのmysqlコンパイルってどーするんだ.MSのIDE買わないといかんのかな?
ちょっと混乱してたみたいですが、もう一度整理.
- これはmysqlclientの問題(Connector/Jでは発生しない)
my.iniに以下のように書くと問題ないのだけれども、
[mysql] default-character-set=sjis
"SET NAMES sjis"では機能しない.つまり"SET NAMES"はサーバ側の変数しか変更されおらず,mysqlclient側には反映されていないのでSQL文を処理するmysqlclient側にまだ問題が残っているのでは,とコメント欄でTajika氏から指摘.
即ち,変数character_set_clientの意味する所が訳がわからない状態になってはいまいか,というのが現時点での問題点.
my.iniへの設定無しに実行. D:\mysql\mysql-noinstall-5.0.16-win32\bin>mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 to server version: 5.0.16-nt-max Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use test Database changed mysql> show variables like 'character_set_client'\G *************************** 1. row *************************** Variable_name: character_set_client Value: latin1 1 row in set (0.01 sec) mysql> set names sjis; Query OK, 0 rows affected (0.02 sec) mysql> show variables like 'character_set_client'\G *************************** 1. row *************************** Variable_name: character_set_client Value: sjis 1 row in set (0.00 sec) mysql> create table `港` (c1 int); `> ` -> \c mysql>