村上様

内藤です。
ありがとうございます。早速試してみました。
コンパイルにちょっと手間取りましたが、なんとか動作するものが
できました。
いちおう4.0で作成したsjisのテーブル名は読み込めるようになっ
たのですが、sjisのフィールド名が読み込めません。select * で
見ると、半角英文字のテーブル名のみが見えます。

他にも修正する部分があるのではないでしょうか?お心当たりが
ありましたら、お教えください。
よろしくお願いいたします。

takeshi@mysql.gr.jp wrote:
村上です

At Tue, 09 Nov 2004 00:53:15 +0900,
George Akimoto wrote:
  
秋元です。
    

  
default-character-set=sjisとしても、
character_set_systemがutf8になってます。

これはテーブル名とかコラム名を格納する際に使われているみたいですが、
utf8に固定でmy.iniなどでの上書きもできなさそうです。

適当なテーブルを作ってみたところ、確かにファイル名はUTF8でした。
    


4.1では、テーブル名、フィールド名は、UTF に変換して保存します。
4.0 までの、バイナリスルーにするには、ソースを変えるしかないです。
しかし、それほど大変な変更じゃなく、これだけ。
これで、テーブル名、フィールド名は、UTF に変換されません。
# 他に害がでるかどうかは充分な検証が必要です。

diff -u mysql-4.1.8pre/sql/mysqld.cc.orig mysql-4.1.8pre/sql/mysqld.cc
--- mysql-4.1.8pre/sql/mysqld.cc.orig	2004-11-28 07:40:38.000000000 +0900
+++ mysql-4.1.8pre/sql/mysqld.cc	2004-11-28 07:15:33.000000000 +0900
@@ -5498,6 +5498,9 @@
   system_charset_info= &my_charset_utf8_general_ci;
   files_charset_info= &my_charset_utf8_general_ci;
   national_charset_info= &my_charset_utf8_general_ci;
+  system_charset_info= &my_charset_bin;
+  files_charset_info= &my_charset_bin;
+  national_charset_info= &my_charset_bin;
   table_alias_charset= &my_charset_bin;
 
   opt_date_time_formats[0]= opt_date_time_formats[1]= opt_date_time_formats[2]= 0;
diff -u mysql-4.1.8pre/sql/set_var.cc.orig mysql-4.1.8pre/sql/set_var.cc
--- mysql-4.1.8pre/sql/set_var.cc.orig	2004-11-28 07:40:59.000000000 +0900
+++ mysql-4.1.8pre/sql/set_var.cc	2004-11-28 07:19:17.000000000 +0900
@@ -136,7 +136,8 @@
 				    sys_check_charset,
 				    sys_update_charset,
 				    sys_set_default_charset,
-                                    (char *)my_charset_utf8_general_ci.name);
+                                    (char *)my_charset_bin.name);
+//                                    (char *)my_charset_utf8_general_ci.name);
 sys_var_character_set_database	sys_character_set_database("character_set_database");
 sys_var_character_set_client  sys_character_set_client("character_set_client");
 sys_var_character_set_connection  sys_character_set_connection("character_set_connection");




  

-- 
Yusuke Naito 内藤祐介
Artificial Life Laboratory, Inc. (株)人工生命研究所
E-mail:naito@alife-lab.co.jp URL:www.alife-lab.co.jp