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

mysql:13348

From: Mamiya Masataka <Mamiya Masataka <xc8m-mmy@xxxxxxxxxx>>
Date: Fri, 15 Sep 2006 08:24:18 +0900
Subject: [mysql 13348] 2バイト文字の文字コード

いつも貴重な情報をありがとうございます。
茨城の間宮と申します。
「データに「十」でエラー」の一連の情報を読ませていただき、
同じスレッドに追加で質問してしまったのはまずかったかなと、
別スレッドで改めて情報をいただければと思いメールしました。
どうぞよろしくお願いします。

2バイト文字は上位1バイト下位1バイトの組み合わせで
文字コードが決められています。
そこに1バイト文字も混在するようになっていますよね。
11あAA
ってなかんじでしょうか。
ところで、2バイト文字の下位1バイトと次の2バイト文字の上位1バイトで、
全く別の文字のコードになってしまうことありますよね?
このあたりを mySQL ではどのように解決しているのでしょうか?
スクリプトは EUC で書く方がよいと言う情報をよく見ますが、
基本的に EUC はこの問題を解決した文字コードだからでしょうか?
文字コードの問題は、様々な文字コードがあり、
私自身の現在の置かれた環境で一番慣れている文字コードもありと、
ここずっとどのような問題が起こりうるのかなと考えていました。

現実的な問題として、次のような問題が発生しました。
香 = 8D81
枕( = 968D8169
となってしまい、枕の後ろ2バイトと(の前2バイトが香と同じ文字コードです。

mySQL で LIKE %香% をすると
「香」と「枕(」に合致してしまいます。
これを防ぐよい方法はあるのでしょうか?
皆様のお知恵をお借りしたいと思います。

私の環境は、
	Windows XP
	mySQL 4.0.18
	Apache 2.0.59
	perl 5.8.6
となっています。

どうぞよろしくお願いいたします。

--
Mamiya masataka from IBARAKI JAPAN
0297-58-6313 090-4430-2918
mamiya@xxxxxxxxxx
masataka-orange@xxxxxxxxxx
つくばみらい市エキストラの会
http://www.rinzo2.jp/~njkmmy/w_extra/index.html

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

->   13348 2006-09-15 08:24 [Mamiya Masataka <xc8] 2バイト文字の文字コード                
     13349 2006-09-15 11:22 ┣[<kiwah@xxxxxxxxxx>  ]                                       
     13351 2006-09-15 12:14 ┃┗[Mamiya Masataka <xc8]                                     
     13350 2006-09-15 11:41 ┗[早間 <hayama@xxxxxxx]                                       
     13352 2006-09-15 13:00  ┗[Mitsuhiro KIZU <kizu]