[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 メーリングリストの案内