Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk menyelesaikan masalah kacau Cina dalam halaman php html

Bagaimana untuk menyelesaikan masalah kacau Cina dalam halaman php html

Jan 20, 2023 am 09:21 AM
php html Watak bercelaru

Penyelesaian kepada masalah bercelaru bahasa Cina dalam halaman html php: 1. Tetapkan pengekodan aksara seluruh halaman melalui "" di hujung hadapan 2. Dalam php, hantarkan "header("content- type:text/html ; charset=xxx");" Tetapkan aksara.

Bagaimana untuk menyelesaikan masalah kacau Cina dalam halaman php html

Persekitaran pengendalian tutorial ini: sistem Windows 10, PHP versi 8.1, komputer DELL G3

Cara menyelesaikan masalah aksara Cina bercelaru dalam halaman php html selesaikan?

Halaman web bahagian hadapan, pengekodan aksara pangkalan data php dan mysql (selesaikan masalah kod bahasa Cina dan lain-lain yang kacau)

Pembangunan web selalunya melibatkan bahagian hadapan -end web page - php - —Interaksi data antara mysql biasanya tidak mempunyai sebarang masalah apabila data hanya dalam bahasa Inggeris, tetapi apabila ia melibatkan bahasa Cina, pengekodan aksara di tiga tempat adalah tidak konsisten (contohnya, halaman web menggunakan gbk dan mysql menggunakan utf-8) Ia mungkin membawa kepada aksara yang bercelaru

(Nota: Untuk maklumat tentang pengekodan aksara, sila rujuk Ensiklopedia Baidu: http://baike.baidu.com/view/1204863.htm? fr=aladdin)

Pengekodan halaman web bahagian hadapan:

Biasanya kami fikir kami boleh lulus item seperti ) untuk menetapkan pengekodan aksara bagi keseluruhan halaman Kebanyakan halaman boleh menggunakan kaedah ini untuk memberitahu pelayar apa pengekodan untuk digunakan semasa memaparkan halaman ini, tetapi kadangkala kita akan mendapati bahawa terdapat Ayat ini masih tidak berfungsi Tidak kira jenis xxx, pelayar sentiasa menggunakan pengekodan yang sama

Situasi ini melibatkan pengepala sebahagian daripada komunikasi protokol http Sebenarnya, Apabila pengguna melayari halaman web, kandungan yang dihantar oleh pelayan kepada pengguna bukan sahaja termasuk halaman web kami (termasuk kandungan kod seperti html/css/js), tetapi juga termasuk deskriptif. kandungan yang dipanggil pengepala, yang memberitahu klien apa yang akan berlaku Jenis data yang diterima (sama ada HTML, teks biasa, fail multimedia, dll.), saiz, sumber dan maklumat lain (jika anda ingin melihat maklumat ini. , anda boleh menggunakan alat telnet (bukan melalui penyemak imbas) untuk memulakan permintaan get dan lain-lain sendiri mengikut protokol http Cuba Memandangkan pengepala dihantar sebelum html, keutamaan daripada pengepala. Jika pengepala sudah mengandungi perihalan pengekodan aksara halaman web, pelayar akhirnya akan dihuraikan mengikut set pengekodan aksara yang dinyatakan dalam pengepala

Dalam PHP, anda boleh menggunakan header("content-type:text/html; charset=xxx"); untuk menghantar tajuk tentang set aksara

Untuk pelayan apache, ia mempunyai fungsi AddDefaultCharset, yang bermaksud bahawa pengepala yang sepadan. akan ditetapkan mengikut set aksara lalai pelayan untuk setiap halaman web yang dihantar Semak /etc/apache2/httpd.conf (sebelum 2.4) atau /etc/apache2/conf-available/charset.conf (2.4 dan lebih baru). ayat AddDefaultCharset xxx Jika ayat ini tidak diulas, maka untuk setiap halaman web Fungsi menambah pengepala set aksara lalai dihidupkan Pada masa ini, menetapkan set aksara dalam teg .

Nota: Kaedah pengekodan yang ditunjukkan pada halaman html hendaklah konsisten dengan kaedah pengekodan yang digunakan untuk menyimpan halaman html sebenar (teks biasa sebenarnya).

Secara umumnya, untuk serasi dengan bahasa Cina dan lebih banyak lagi bahasa lain, menggunakan pengekodan utf-8 adalah cara paling mudah, kerana utf-8 menyokong hampir semua bahasa yang biasa digunakan di dunia.

pengekodan pangkalan data mysql:

Dalam terminal mysql -uusername -ppassword dan kemudian masukkan program kawalan mysql, kemudian taip show variables seperti 'character%'; yang Titik koma tidak boleh ditinggalkan semasa menaip pernyataan arahan atau pernyataan sql dalam terminal mysql) Anda boleh melihat gambar yang serupa dengan yang berikut:

Di atas menyenaraikan set aksara yang digunakan oleh mysql pada pelbagai peringkat , di mana (*)

set-karakter-pelayan/set-karakter lalai: set aksara pelayan, digunakan secara lalai.

pangkalan data set aksara: set aksara pangkalan data.

jadual set aksara: set aksara jadual pangkalan data.
Keutamaan meningkat dalam urutan. Oleh itu, secara amnya anda hanya perlu menetapkan pelayan set aksara, dan tidak menentukan set aksara apabila mencipta pangkalan data dan jadual Dengan cara ini, set aksara set aksara digunakan secara seragam.
set watak-klien: Set watak pelanggan. Set aksara lalai pelanggan. Apabila pelanggan menghantar permintaan kepada pelayan, permintaan itu dikodkan dalam set aksara ini.
keputusan-set aksara: Set aksara keputusan. Apabila pelayan mengembalikan hasil atau maklumat kepada klien, hasilnya dikodkan dalam set aksara ini.
Di sisi klien, jika set aksara-hasil tidak ditakrifkan, set aksara-set-klien set digunakan sebagai set aksara lalai. Jadi hanya perlu menetapkan set watak-set-klien.

Jadi, kita akan mendapati bahawa pelayan set aksara yang ditunjukkan dalam gambar di atas tidak menggunakan utf8 (nota: dalam mysql, kaedah pengekodan utf-8 dinyatakan sebagai utf8, tanpa "-"). Ini kerana kaedah storan lalai mysql adalah latin1 tanpa pengubahsuaian. Dalam kes ini, apabila kita menggunakan terminal mysql untuk mencipta pangkalan data dan jadual data, jika set aksara yang digunakan tidak dinyatakan dalam pernyataan sql, pengekodan yang digunakan untuk penyimpanan akan menjadi latin1 Jelas sekali, aksara Cina disimpan dalam Kaedah pengekodan ini pada asalnya digunakan untuk menyimpan teks Latin pasti akan bercelaru apabila dipaparkan.

Jadi bagaimana untuk mengubah suainya? Anda boleh menggunakan set character-set-server = utf8; ). Selepas itu, apabila anda menggunakan SQL untuk mencipta jadual dalam terminal, kaedah pengekodan storan jadual ialah UTF-8.

Walau bagaimanapun, pengubahsuaian ini hanya berkesan untuk perkhidmatan semasa. Gunakan quit selepas keluar dan memasuki terminal mysql sekali lagi, anda akan mendapati set aksara telah bertukar kembali kepada latin1. Maklumat yang saya temui setakat ini menunjukkan bahawa kaedah untuk membuat pengubahsuaian kekal hanya dicapai dengan mengubah suai parameter kompilasi semasa menyusun semula mysql Jika ada pakar yang tahu bagaimana untuk mencapai ini tanpa menyusun, sila tinggalkan mesej untuk memberitahu saya.

pengekodan php:

Jadi, apabila ia berkaitan dengan mysql, bagaimanakah php memastikan tiada aksara bercelaru muncul semasa penghantaran data apabila berinteraksi dengan mysql?

Mengikut huraian di (*), sebenarnya, untuk mengelakkan aksara bercelaru semasa menyimpan dan mendapatkan semula data daripada mysql, kami hanya perlu menetapkan tiga parameter sistem berikut untuk memadankan watak set aksara pelayan- set -Pelayan set aksara yang sama. Ia adalah:
set_karakter_klien: Set watak pelanggan.
character_set_results: Set aksara hasil.
character_set_connection: set aksara sambungan.
Menetapkan ketiga-tiga parameter sistem ini boleh dicapai dengan menghantar pernyataan ke MySQL: set names xxx (xxx boleh utf8)

Oleh itu, apabila ia datang untuk menghantar aksara Cina dan bukan bahasa Inggeris lain daripada php ke mysql, dalam Selepas menggunakan mysql_query("set names utf8"); pernyataan selepas pernyataan mysql_connect (diandaikan bahawa storan pangkalan data menggunakan utf8), anda boleh menghantar dan mendapatkan semula bahasa Cina dengan selamat.

Selain itu, memandangkan halaman HTML sebenarnya mungkin dijana secara dinamik oleh PHP, bagaimana untuk memastikan kaedah pengekodan yang digunakan oleh halaman yang dijana secara dinamik PHP adalah sama seperti yang diisytiharkan dalam pengepala atau ?

Cari fail php.ini dalam direktori php dan ubah suai default_charset = "utf-8" untuk menjadikan php menggunakan utf-8 untuk pengekodan semasa mengeluarkan halaman.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah kacau Cina dalam halaman php html. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles