ホームページ >バックエンド開発 >PHPチュートリアル >PHP による Oracle へのアクセスでコードが文字化けする!解決
PHP による Oracle へのアクセスが文字化けします。
Oracle 11 環境: NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK;
PHP 5 default_charset "gb2312"
接続文字: $conn = oci_connect('scott', 'tiger', 'demo ', 'zhs16gbk');
//注: 次の 'zhs16gbk' は、追加してもしなくても機能しません。また、'zhs16cdb231280' または 'utf-8 に変更すると機能しません。 '。
SQL*Plus: 問題なし
PHP: 問題自体なし
PHP からの挿入...問題なし
Web ページは IE7 (IE6 も試しました) 、エンコードは簡体字中国語 GB2312 です。
クエリできる結果は英語で正常に表示されますが、漢字がすべて文字化けしてしまいます。数日間苦労しましたが、まだ理解できません。経験のある方は教えていただけますか。よろしくお願いします!
環境: Vista+Oracle 11+Php 5+Apache 2.2.8
XPでも試してみましたが、うまくいきませんでした。
-----解決策---------
Oracle マニュアルでキャラクタ セットの設定を自分で確認する必要があります。
2 番目は、データベースのキャラクタ セットがページ出力のキャラクタ セットと一致している必要があります。
-----解決策---------
表示---「エンコーディング---」 自動選択
は通常 utf-8 です
------解決策------
メタ http-equiv= を追加します。 "Content-Type" content="text/html; charset=utf-8">
以上です
ファイルが utf-8 ではないためだと思います
------解決策---------環境変数を追加します
NLS_NCHAR= ZHS16GBK
------解決策---------環境変数
NLS_LANG=AMERICAN_AMERICA を追加します。 ZHS16GBK
マシンを再起動します
------解決策---------