Dalam proses membina pelayan web menggunakan Nginx dan PHP, kami sering menghadapi masalah aksara Cina yang bercelaru. Ini kerana Nginx dan PHP tidak mengendalikan pengekodan Cina secara automatik secara lalai, dan kami perlu menetapkannya secara manual untuk memaparkan bahasa Cina secara normal. Artikel ini akan memperkenalkan cara untuk menetapkan pengekodan dalam Nginx dan PHP untuk menyelesaikan masalah aksara Cina yang kacau.
1. Pengekodan tetapan Nginx
Menetapkan pengekodan dalam Nginx perlu dilakukan dalam fail konfigurasi. Dengan mengedit fail konfigurasi Nginx, kami boleh mengubah suai Jenis Kandungan pengepala respons untuk menetapkan pengekodan Cina.
Gunakan editor teks untuk membuka fail konfigurasi Nginx Jalan umum ialah: /etc/nginx/nginx.conf arahan berikut untuk membukanya:
sudo vi /etc/nginx/nginx.conf
Tambah konfigurasi berikut pada http:
charset utf-8;
Konfigurasi ini akan menambah Kandungan- Jenis: teks/ dalam pengepala respons html; charset=utf-8, memberitahu pelayar bahawa teks yang dikembalikan adalah dikodkan. Kami juga boleh menetapkan pengekodan lain mengikut keperluan.
Selepas mengubah suai fail konfigurasi, anda perlu memulakan semula pelayan Nginx agar ia berkuat kuasa. Anda boleh menggunakan arahan berikut untuk memulakan semula Nginx:
sudo service nginx restart
2. Pengekodan tetapan PHP
Terdapat banyak cara untuk menetapkan pengekodan dalam PHP, yang boleh ditetapkan dalam fail konfigurasi php.ini atau secara dinamik dalam persediaan kod. Berikut adalah dua kaedah yang biasa digunakan.
Terdapat pilihan default_charset dalam fail konfigurasi PHP php.ini, yang boleh digunakan untuk menetapkan pengekodan lalai. Anda boleh mengikuti langkah berikut untuk menyediakannya:
1) Cari fail php.ini, yang biasanya terletak dalam direktori /etc/php/PHP version/, seperti /etc/php/7.2 .
2) Buka fail php.ini dan cari baris berikut:
;default_charset =
3) Alih keluar koma bertitik dan tetapkan pengekodan, seperti:
default_charset = "utf-8"
4) Simpan Dan tutup fail php.ini, dan kemudian mulakan semula perkhidmatan PHP-FPM untuk membuat perubahan berkuat kuasa.
Jika anda tidak mahu mengubah suai fail php.ini, anda juga boleh menetapkannya secara dinamik dalam kod. Anda boleh menggunakan fungsi pengepala PHP untuk menetapkan nilai Content-Type kepada pengekodan yang ditentukan.
Sebagai contoh, untuk menetapkan pengekodan kepada UTF-8, anda boleh menggunakan kod berikut:
header('Content-Type: text/html; charset=utf-8');
Fungsi ini mesti dipanggil sebelum mengeluarkan apa-apa, jika tidak, ralat "header sudah dihantar" akan berlaku.
3. Ringkasan
Dalam proses membina pelayan web menggunakan Nginx dan PHP, tetapan pengekodan merupakan langkah yang sangat penting. Jika tetapan tidak betul, masalah aksara Cina bercelaru mungkin mudah berlaku. Dengan menetapkan pengekodan dalam Nginx dan PHP, anda boleh menyelesaikan masalah aksara Cina yang kacau dan meningkatkan prestasi dan kestabilan pelayan web dengan mudah.
Atas ialah kandungan terperinci nginx php set pengekodan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!