cari

Dalam pembangunan web, PHP dan JavaScript digunakan secara bersama-sama. Apabila menggunakannya, kami mungkin menghadapi masalah pengekodan yang tidak konsisten antara PHP dan JavaScript, menyebabkan penyemak imbas tidak dapat menghuraikan aksara bercelaru dengan betul. Artikel ini akan memperkenalkan cara untuk menetapkan pengekodan JavaScript melalui PHP untuk menyelesaikan masalah aksara bercelaru.

1. Fahami pengekodan

Dalam pembangunan web, pengekodan adalah sangat penting. Kerana kaedah pengekodan yang berbeza akan menjejaskan kesan penghuraian penyemak imbas pada halaman web. Penyemak imbas akan menentukan kaedah pengekodan data respons berdasarkan Jenis Kandungan dalam pengepala HTTP. Kaedah pengekodan biasa termasuk UTF-8, GBK, GB2312, dsb.

2. Sebab masalah

Apabila menggunakan JavaScript dalam PHP, kami sering menghadapi masalah teks bercelaru. Ini kerana kaedah pengekodan lalai PHP tidak konsisten dengan JavaScript, menyebabkan JavaScript tidak dapat menghuraikan dengan betul output kandungan bercelaru oleh PHP. Berikut ialah situasi di mana aksara bercelaru muncul:

  1. Apabila PHP dikodkan sebagai UTF-8, JavaScript dikodkan sebagai GBK atau GB2312.
  2. Apabila PHP dikodkan sebagai GBK atau GB2312, JavaScript dikodkan sebagai UTF-8.

3. Penyelesaian

Untuk menyelesaikan masalah di atas, kita perlu melakukan penukaran pengekodan dalam PHP dan menukar output teks oleh PHP kepada pengekodan yang JavaScript boleh menghuraikan dengan betul. Berikut ialah penyelesaiannya:

  1. Tukar pengekodan PHP kepada pengekodan JavaScript

Kami boleh menukar pengekodan PHP kepada sesuatu yang JavaScript boleh menghuraikan dengan betul dengan menggunakan fungsi terbina dalam PHP mb_convert_encoding () kaedah pengekodan. Berikut ialah contoh kod:

<?php header('Content-type: text/html; charset=gbk');

// PHP编码为UTF-8
$str = '这是乱码的文字!';
echo '<script type="text/javascript">';
echo 'var str = "'. mb_convert_encoding($str, 'GBK', 'UTF-8') .'";';
echo 'alert(str);';
echo '';
?>

Dalam kod di atas, kami mula-mula menetapkan Jenis Kandungan respons HTTP kepada GBK, dan kemudian menetapkan kaedah pengekodan PHP kepada UTF-8. Gunakan fungsi mb_convert_encoding() untuk menukar $str daripada UTF-8 kepada GBK, dan kemudian mengeluarkan $str dalam JavaScript.

  1. Tukar pengekodan JavaScript kepada pengekodan PHP

Begitu juga, kita juga boleh menukar output teks oleh JavaScript kepada pengekodan yang PHP boleh menghuraikan dengan betul menggunakan fungsi mb_convert_encoding() Cara. Berikut ialah contoh kod:


<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>测试页面</title>
<script type="text/javascript">
    function getStr() {
        var str = "这是乱码的文字!";
        return str;
    }
</script>


<?php header('Content-type: text/html; charset=gbk');

// 获取JavaScript中输出的字符串
$str = '<script type="text/javascript">getStr()';
// 将JavaScript编码转换为PHP编码
echo mb_convert_encoding($str, 'UTF-8', 'GBK');
?>

Dalam kod di atas, kami mula-mula menetapkan charset dokumen HTML kepada UTF-8. Kemudian dapatkan rentetan yang bercelaru melalui fungsi getStr() dalam JavaScript, tetapkan pembolehubah $str kepada rentetan yang diperoleh dalam PHP dan gunakan fungsi mb_convert_encoding() untuk menukar $str daripada GBK kepada UTF-8 , dan kemudian keluarkannya ke pelayar.

4. Ringkasan

Melalui kaedah di atas, kami boleh menyelesaikan masalah bercelaru teks yang disebabkan oleh pengekodan PHP dan JavaScript yang tidak konsisten. Dalam pembangunan sebenar, kita harus memberi perhatian kepada menetapkan kaedah pengekodan yang sesuai dan menggunakan fungsi penukaran pengekodan untuk menukar teks kepada kaedah pengekodan yang betul. Ini memastikan kestabilan dan ketersediaan aplikasi web.

Atas ialah kandungan terperinci php menetapkan pengekodan js. 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
Asid vs pangkalan data asas: perbezaan dan bila menggunakan setiap.Asid vs pangkalan data asas: perbezaan dan bila menggunakan setiap.Mar 26, 2025 pm 04:19 PM

Artikel ini membandingkan model pangkalan data asid dan asas, memperincikan ciri -ciri mereka dan kes penggunaan yang sesuai. Asid mengutamakan integriti data dan konsistensi, sesuai untuk aplikasi kewangan dan e-dagang, sementara asas memberi tumpuan kepada ketersediaan dan

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail.PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail.Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Pengesahan Input PHP: Amalan Terbaik.Pengesahan Input PHP: Amalan Terbaik.Mar 26, 2025 pm 04:17 PM

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan.PHP API Kadar Mengehadkan: Strategi Pelaksanaan.Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

PHP Kata Laluan Hashing: password_hash dan password_verify.PHP Kata Laluan Hashing: password_hash dan password_verify.Mar 26, 2025 pm 04:15 PM

Artikel ini membincangkan manfaat menggunakan password_hash dan password_verify dalam php untuk mendapatkan kata laluan. Hujah utama ialah fungsi ini meningkatkan perlindungan kata laluan melalui penjanaan garam automatik, algoritma hashing yang kuat, dan secur

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum.OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum.Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Pencegahan PHP XSS: Bagaimana Melindungi Terhadap XSS.Pencegahan PHP XSS: Bagaimana Melindungi Terhadap XSS.Mar 26, 2025 pm 04:12 PM

Artikel ini membincangkan strategi untuk mencegah serangan XSS di PHP, memberi tumpuan kepada sanitisasi input, pengekodan output, dan menggunakan perpustakaan dan kerangka kerja yang meningkatkan keselamatan.

PHP Interface vs Kelas Abstrak: Bila Menggunakan Setiap.PHP Interface vs Kelas Abstrak: Bila Menggunakan Setiap.Mar 26, 2025 pm 04:11 PM

Artikel ini membincangkan penggunaan antara muka dan kelas abstrak dalam PHP, memberi tumpuan kepada masa untuk menggunakan setiap. Antara muka menentukan kontrak tanpa pelaksanaan, sesuai untuk kelas yang tidak berkaitan dan warisan berganda. Kelas Abstrak Memberi Funct Biasa

See all articles

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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna