Oracle への PHP 接続での文字化けコードの解決策: 1. 「select * from V$NLS_PARAMETERS;」コマンドを実行して、Oracle の文字セットを取得します。 2. 変数「NLS_CHARACTERSET」を対応する値に変更します。文字セット; 3. ローカルの PHP ファイルを utf-8 に設定するだけです。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。
Oracle への PHP 接続が文字化けしている場合はどうすればよいですか?
php は oracle に接続して、文字化けを避けるために文字セットを設定します。
データベースは oracle を使用します。php が oracle に接続するときは、次のように指定するのが最善です。文字セット。
PHP マニュアルを確認してください。oci_connect の 4 番目のパラメーターは charset であり、これがキーです。
まず、oracle の文字セットを取得し、「select * from V$NLS_PARAMETERS;」を実行します。変数 NLS_CHARACTERSET は、必要な文字セットに対応します。たとえば、ここでは「ZHS16GBK」です。
最終的な PHP コードは次のとおりです:
$c1 = oci_connect("scott", "tiger", $db, 'zhs16gbk');
私のローカル PHP ファイルは utf-8 を使用しているため、取得したコードは次のように変換する必要があります:
while ($dat = oci_fetch_row($cur)) { print_r(iconv('gb2312', 'utf-8', $dat[0])); }
Update:
同僚は、Oracle はクライアントが指定した文字セットに従ってデータを提供できると述べました。つまり、ローカルの PHP ファイルが UTF-8 を使用している場合、oci_connect を使用するときに utf-8 を直接指定でき、エンコード変換も保存されます。
$c1 = oci_connect("scott", "tiger", $db, 'UTF8');
Php コード
while ($dat = oci_fetch_row($cur)) { print_r($dat[0]); }
推奨学習:「PHP ビデオ チュートリアル 」
以上がOracle への PHP 接続が文字化けしている場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。