タグ

マルチバイトに関するokyawaのブックマーク (2)

  • PHPのロケールに関するまとめ - hnwの日記

    5/3 17:45追記:t_komuraさんに指摘いただいた関数と、さらに僕が調べ直したものを含め、「ロケール設定に従う関数一覧」に25個ほど追加しました。かなり見落としがありましたね…。 PHPのロケール*1まわりについて調査したので、これをまとめてみます。 この記事は「ロケールの影響を受ける関数 - Sarabande.jp」を掘り下げたものです。masakielasticさん、ナイスな記事をありがとうございます。 PHPの文字列型と文字エンコーディング 他のモダンなLL言語と異なり、PHPは文字列の文字エンコーディングに関して何も仮定せず、単なるバイト列として管理しています。つまり、文字エンコーディングの取り扱いは各関数の実装に委ねられています。 下記の通り、これはマニュアルにも記述があるのですが、実に残念なことです。 残念ながら、PHP の各関数が文字列のエンコーディングを判断する

    PHPのロケールに関するまとめ - hnwの日記
  • 全角フィールドのソートにはBINARYを指定する | AMsoft space

    対象:MySQL 4.0, 4.1 系 全角文字フィールドでソートする場合は BINARY をつける。 でないと全角文字コード順にソート順してくれない。少なくともEUCの場合は必要。 cityNameKana に半角カタカナが格納されており、cityNameKanaでソートする場合は以下のように記述する。 誤)select cityOID,cityCd,cityName,cityNameKana,ORD(cityNameKana) from MstCit y where cityCd Like '011%' group by cityCd order by cityNameKana; 正)select cityOID,cityCd,cityName,cityNameKana,ORD(cityNameKana) from MstCit y where cityCd Like '011%'

    okyawa
    okyawa 2009/07/28
    "order by BINARY ~"でマルチバイトのソート
  • 1