Rumah >pembangunan bahagian belakang >masalah PHP >Apakah yang perlu saya lakukan jika sambungan php ke Oracle bercelaru?
Penyelesaian kepada kod bercelaru dalam sambungan PHP ke Oracle: 1. Dapatkan set aksara Oracle dengan menjalankan perintah "pilih * daripada V$NLS_PARAMETERS;" 2. Ubah suai pembolehubah "NLS_CHARACTERSET" kepada yang sepadan set aksara; 3. Hanya tetapkan fail PHP tempatan kepada utf-8.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer Dell G3.
Apakah yang perlu saya lakukan jika sambungan php ke oracle bercelaru?
php bersambung ke oracle untuk menetapkan set aksara bagi mengelakkan aksara bercelaru
Pangkalan data menggunakan oracle, sebaiknya nyatakan set watak.
Semak manual PHP, parameter keempat oci_connect ialah charset, ini adalah kuncinya.
Mula-mula dapatkan set aksara oracle dan jalankan "pilih * daripada V$NLS_PARAMETERS;".
Jadi, kod PHP terakhir ialah:
$c1 = oci_connect("scott", "tiger", $db, 'zhs16gbk');
Fail PHP tempatan saya menggunakan utf-8, jadi kod yang diperoleh perlu ditukar seperti berikut:
while ($dat = oci_fetch_row($cur)) { print_r(iconv('gb2312', 'utf-8', $dat[0])); }
Kemas kini:
Rakan sekerja berkata bahawa Oracle boleh menyediakan data mengikut set aksara yang ditentukan oleh pelanggan. Dalam erti kata lain, jika fail PHP tempatan saya menggunakan UTF-8, maka apabila saya menggunakan oci_connect, saya boleh terus menentukan utf-8, malah penukaran pengekodan akan disimpan.
$c1 = oci_connect("scott", "tiger", $db, 'UTF8');
Kod Php
while ($dat = oci_fetch_row($cur)) { print_r($dat[0]); }
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika sambungan php ke Oracle bercelaru?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!