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

mysql:14797

From: (浅山雄三) <<ALCYONE@xxxxxxxxxx>>
Date: Thu, 16 Apr 2009 15:34:56 +0900
Subject: [mysql 14797] Re: SJISで文字コードがシフト?してしまい検索できない

とみた様

  浅山です。いつもお世話になります。


In message "[mysql 14794] Re: SJISで文字コードがシフト?してしまい
検索できない",
とみたまさひろ様wrote...
 >とみたです。
 >
 >On Wed, 15 Apr 2009 19:14:10 +0900
 >ALCYONE@xxxxxxxxxx (浅山雄三) wrote:
 >
 >>   検索系システムを組んだのですが下記のような現象が発生してしま
いま
 >> した。原因が分かりません。何かいい対処方法はないでしょうか。
 >> 
 >> 【現象例】
 >> (1)「ビタミン」では0件、「コタミン」でビタミンがヒット。ビ
 >> (X'8372')、コ(X'8352')
 >> (2)「トランジスタ」では0件、「エランジスタ」でトランジスタが
ヒッ
 >> ト。ト(X'8367')、エ(X'8347)
 >> (3)「ハ」〜「ポ」は「ク」〜「ソ」でヒットするが、ポ(X'837C')の
すぐ
 >> 隣の「マ(X'837D')」は「マ」でヒットする。
 >> (4)漢字でも検索文字とヒットする文字にX'0020'の差分がある漢字が
あ
 >> る。
 >>  ※文字コードがX'0020'シフトしている? シフトする文字の位置はラ
ンダ
 >> ム(すべての文字がシフトして検索される訳ではない)。
 >
 >ASCIIコードで半角英字の大文字小文字が区別されてないような感じです
ね。
 >
 >問題のテーブルに対して、show create table XXXX; してみたら、
charset が
 >latin1 とかになってないでしょうか。

  キャラクタ・セットはCP932になっています。

  ところで、上記現象はPHPプログラムでの検索の際に発見したのですが、
検索用データベースを生成する処理(バッチ処理で生成)でも下記のよう
な現象を見つけました。

【検索用データベース生成処理概要】
(1)約200フィールドあるAテーブルを作成し、その後Aテーブルの文字列
フィールドすべてを連結したBテーブルを作成する。
(Bテーブルは全項目用検索時に使用します。)
(2)AテーブルからBテーブルへの展開はtriggerを使用しています。
  (Aテーブルへのinsert後、連結したデータをBテーブルへinsertす
る。)

【事象】
(3)Aテーブルへは正常にデータがinsertされている。
(4)Bテーブルを見ると一部の文字がX'0020'シフトされて登録されている。
(5)Aテーブルのselect時に「ビタミン」は「コタミン」でヒット。
(6)Bテーブルのselect時は「ビタミン」は「ビタミン」でヒット。
 (X'0020'シフトしてデータが登録され、select時にX'0020'シフトするか
らヒットする???)

※1 上記(3)(4)(5)(6)は、MySQL Query Browserで検索。
※2 上記(4)から、MySQL内の処理でX'0020'分シフトしているように見受け
られますが、上記(5)は上記(3)とは矛盾?しているように見えます。


 2009年4月16日 15:35:00 (^o^)浅山雄三


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

     14789 2009-04-15 19:14 [<ALCYONE@xxxxxxxxxx>] SJISで文字コードがシフト?してしまい検索できない
     14790 2009-04-15 19:28 ┣[Isamu Moriyama <mori]                                       
     14791 2009-04-15 19:43 ┃┗[<ALCYONE@xxxxxxxxxx>]                                     
     14792 2009-04-15 20:17 ┣[SAKAI Kei <sak2@xxxx]                                       
     14795 2009-04-16 15:06 ┃┣[<ALCYONE@xxxxxxxxxx>]                                     
     14796 2009-04-16 15:13 ┃┃┣[<ALCYONE@xxxxxxxxxx>]                                   
   @ 14800 2009-04-16 17:28 ┃┃┃┗[chuuken kenkou <ken_]                                 
     14803 2009-04-17 19:51 ┃┃┃ ┗[<ALCYONE@xxxxxxxxxx>]                               
     14805 2009-04-17 20:50 ┃┃┃  ┗[Satoshi Tatsuoka <sa]                             
     14802 2009-04-17 17:05 ┃┃┗[SAKAI Kei <sak2@xxxx]                                   
     14806 2009-04-17 20:55 ┃┃ ┗[<ALCYONE@xxxxxxxxxx>]                                 
     14801 2009-04-17 15:52 ┃┗[Mikiya Okuno <Mikiya]                                     
     14804 2009-04-17 20:38 ┃ ┗[<ALCYONE@xxxxxxxxxx>]                                   
     14807 2009-04-17 21:00 ┃  ┗[SAKAI Kei <sak2@xxxx]                                 
     14808 2009-04-17 21:12 ┃   ┣[SAKAI Kei <sak2@xxxx]                               
     14810 2009-04-18 13:37 ┃   ┃┗[Satoshi Tatsuoka <sa]                             
     14811 2009-04-18 15:38 ┃   ┃ ┣[Yoshinori Matsunobu ]                           
     14813 2009-04-18 17:03 ┃   ┃ ┃┗[Satoshi Tatsuoka <sa]                         
     14814 2009-04-18 17:17 ┃   ┃ ┃ ┗[Yoshinori Matsunobu ]                       
     14815 2009-04-20 10:03 ┃   ┃ ┃  ┗[<ALCYONE@xxxxxxxxxx>]                     
     14821 2009-05-06 14:05 ┃   ┃ ┃   ┗[SAKAI Kei <sak2@xxxx]                   
     14840 2009-05-09 12:01 ┃   ┃ ┃    ┣[SAKAI Kei <sakaik@xx]                 
     14956 2009-07-06 16:57 ┃   ┃ ┃    ┗[SAKAI Kei <sak2@xxxx] MySQL 5.1.36 リリース(was Re:  Re: SJISで文字コードがシフト?してしまい検索できない
     14812 2009-04-18 16:10 ┃   ┃ ┗[SAKAI Kei <sak2@xxxx]                           
     14809 2009-04-17 21:23 ┃   ┗[Satoshi Tatsuoka <sa]                               
     14794 2009-04-15 23:37 ┗[とみたまさひろ <tomm]                                       
->   14797 2009-04-16 15:34  ┗[<ALCYONE@xxxxxxxxxx>]                                     
     14798 2009-04-16 15:41   ┗["Y. Tsutsui" <tutui@]                                   
     14799 2009-04-16 16:44    ┗[<ALCYONE@xxxxxxxxxx>]