Home > Archives > 2007-12

2007-12

links for 2007-12-06

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

  • 2007-12-06 (木)
  • 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% [?]

links for 2007-12-05

Popularity: 21% [?]

  • Newer Entries
  • Home > Archives > 2007-12

    Search
    Feeds
    Meta

    Pages (4): « First ... « 1 2 3 [4]

    Page Top