[PHP-users 5108] Re: 文字コードに関する質問

Shigeki Mimura php-users@php.gr.jp
Wed, 30 Jan 2002 15:25:45 +0900 (JST)


三村です。

imasaru> 以前、投稿した住所の検索の件でSQL文を、select * from (テーブル名:kanri) 
imasaru> where addr(住所) like '%松%'とselect * from (テーブル名:kanri) where addr(
imasaru> 住所) like '%小%'とし
imasaru> ても、一つも見つからないという状況です。
imasaru> そして、文字コードを松の場合と小の場合、また、町,新の場合の4パターンで
imasaru> i18n_discover_encodingで、調べたところ文字のコードは松と小では、EUC-JP,町,新
imasaru> の場合にはSJISと判定されました。町や新の一文字で検索をかけるときちんと町や新
imasaru> を含む行が返ってきます。
imasaru> そこで、特定の文字コードに対して、文字コードをEUC-JPからSJISに変換したいので
imasaru> すが、どのような方法を用いたらいいかおしえてください。
imasaru> ちなみに、php.iniの文字環境に関する設定は以下のようにしています。
imasaru> -------------------------------------------------------------------------------
imasaru> 
imasaru> output.buffering=on;
imasaru> mbstring.internal_encoding=EUC_JP;
imasaru> mbstring.http_input=auto;
imasaru> mbstring.substitute_character=none;
imasaru> mbstring.http_output=SJIS;
imasaru> -------------------------------------------------------------------------------

なんかPHPじゃなくてPostgreSQLネタなんですけどね。
いろいろ聞きたいことがあります。
PostgreSQLは--enable-multibyteつきで作成したのでしょうか?
DBを作成した時のencodingの指定は?
そもそも、eucとsjisのデータが混在していることがおかしいと思います。
この状態だとphpからデータをインサートするとeucで入ると思うんですが。