Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah yang perlu saya lakukan jika sambungan php ke Oracle bercelaru?

Apakah yang perlu saya lakukan jika sambungan php ke Oracle bercelaru?

藏色散人
藏色散人asal
2022-10-19 09:31:292084semak imbas

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.

Apakah yang perlu saya lakukan jika sambungan php ke Oracle bercelaru?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn