Home > web > [php][mysql]「ほ」と「ぽ」とSUBSTRINGの謎。

[php][mysql]「ほ」と「ぽ」とSUBSTRINGの謎。

  • 2007-12-06 (木) 14:29
  • web

SQL内で

WHERE SUBSTRING(name,1,1) = ‘ほ’

みたいに書いていて今まで上手くいっていたものをphp側で処理させようとして、

if(substr($name,0,1)==’ほ’){
}

としたのですが、どうも「ぽ」が入らなくなっていた様子。
というより今まで「ぽ」がSQL版の方でヒットしていたことを疑問に思わなかった自分がすごい。
というわけでひとまず $name == ‘ほ’ || $name == ‘ぽ’ || $name==’ぼ’ とするしかないようなのですがこれってどういう仕組みなんですかね。
結局いろいろ実験してみたけど

WHERE SUBSTRING(name,1,1) = ‘ほ’

でも

WHERE name like ‘ほ%’

でも同じ。それぞれ「ほ」を「ぽ」「ぼ」にしても同じ。
ということはSUBSTRINGの問題ではなくてそもそもMySQL内では同じコードとして扱われているということ? 
UTF-8の文字コードでも

E381BB ほ
E381BC ぼ
E381BD ぽ

とはっきりと違うのでなにがなにやら。

現段階では今後気をつけようとしかいえません。
なんだろーなーこれ

15:06追記>>
どうもMySQLだとカタカナもいっしょくたに含む様子

WHERE SUBSTRING(name,1,1) = ‘こ’

ってしたら「コ」もヒットした
どうなってんだー

Popularity: 31% [?]

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

Comments:0

Comment Form
Remember personal info

Trackback+Pingback:0

TrackBack URL for this entry
http://pg-w.net/archives/253/trackback/
Listed below are links to weblogs that reference
[php][mysql]「ほ」と「ぽ」とSUBSTRINGの謎。 from PenguinWanderer.net

Home > web > [php][mysql]「ほ」と「ぽ」とSUBSTRINGの謎。

Search
Feeds
Meta

Page Top