[pgsql-jp: 31004] 日本語まじりのSQL構文

Planet-m mtakahashi @ turban.tanseisha.co.jp
2003年 9月 9日 (火) 10:14:39 JST


はじめまして、
Planet-Mともうします。
なにぶん初心者で、自分の力で解決できる策は尽きてしまいましたので、
皆さんのお力お貸し願えないでしょうか。

【環境】
PHP 4.3.2
PostgreSQL 7.3.3
apache_1.3.27

ブラウザ表示用のPHPファイルをEUC→SJISに変更したとたん
エラーが表示され、データ表示出来なくなりました。。
postgresのテーブルのフィールド名を日本語で設定したのが
原因だと考え、sqlでeucに変換させようと思い下記のような
構文にしました。
が、うまくいきません。
html→SJIS
Postgres→EUC

//表示文字コード
$disp_enc = "EUC";

//データの文字コードを変換
function cnv_dbstring($string, $enc){
        $det_enc = mb_detect_encoding($string);
        if ($det_enc and $det_enc != $enc){
                return mb_convert_encoding($string, $enc ,$det_enc);
        }
        else {
        return $string;
        }
}
//ここで変換しようとしましたが、うまくいきませんでした。
//テーブルのフィールド名は日本語で「会社」です
$sql_str = "select * from hogedb order by 
" . cnv_dbstring("会社", $disp_enc) . " limit $lim offset $st;";



pgsql-jp メーリングリストの案内