くだすれPHP(超初心者用)
■ このスレッドは過去ログ倉庫に格納されています
0099nobodyさん
2006/07/21(金) 17:49:24ID:CoGe325Oapacheの文字コードはソース・出力共にEUC
oracleはSJISです
この環境だと、php内でoracle関数を使って何かする場合
$conn = oci_connect('id','pw','db');
$sql = mb_convert_encoding("SELECT id,name FROM emp",'SJIS','EUC-JP');
$stmt = oci_parse($conn,$sql);
oci_define_by_name($stmt,mb_convert_encoding('id','SJIS','EUC-JP'),$ret_id);
oci_define_by_name($stmt,mb_convert_encoding('name','SJIS','EUC-JP'),$ret_name);
$dbresult = oci_execute($stmt);
while(oci_fetch($stmt)){
...
と、こんな感じで一旦SJISにしてやらなきゃ駄目だと思うんですが、
↑と同じ要領で、バインド変数というものを利用しようと勉強中なのですが上手くいきません
$conn = oci_connect('id','pw','db');
$sql = mb_convert_encoding("INSERT INTO emp ('id','pw') VALUES (:wk_id,:wk_pw)",'SJIS','EUC-JP');
$stmt = oci_parse($conn,$sql);
oci_bind_by_name($stmt,mb_convert_encoding(':wk_id','SJIS','EUC-JP'),$tmp_id);
oci_bind_by_name($stmt,mb_convert_encoding(':wk_name','SJIS','EUC-JP'),$tmp_name);
$tmp_id = "testid";
$tmp_name = "testname";
$dbresult = oci_execute($stmt);
...
全部SJISで統一するか、oracle内部の文字コードをEUCに変えるくらいしか僕には解決策思いつきませんorz
アドバイスよろしくお願いします
■ このスレッドは過去ログ倉庫に格納されています