Rumah >pembangunan bahagian belakang >masalah PHP >nginx php set pengekodan

nginx php set pengekodan

WBOY
WBOYasal
2023-05-06 12:44:071779semak imbas

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.

  1. Buka fail konfigurasi

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
  1. Ubah suai fail konfigurasi

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.

  1. Mulakan semula pelayan Nginx

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.

  1. Tetapkan dalam php.ini

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.

  1. Tetapkan dalam kod

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!

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