Penyelesaian kod bercelaru php Ubuntu
Apabila menggunakan Ubuntu untuk membina persekitaran pembangunan PHP, anda mungkin menghadapi masalah kod bercelaru. Walaupun masalah ini bukanlah masalah yang terlalu besar untuk pembangun web profesional, ia boleh menjadi masalah yang sangat rumit untuk pemula. Artikel ini akan memperkenalkan cara menyelesaikan masalah PHP yang bercelaru di bawah Ubuntu.
Pertama sekali, anda perlu mengenal pasti masalah kod yang bercelaru. Dalam PHP, aksara bercelaru mungkin muncul di banyak tempat, seperti halaman HTML, penyimpanan pangkalan data, membaca dan menulis fail, dsb. Oleh itu, masalah bercelaru tertentu perlu ditentukan terlebih dahulu.
Jika ia muncul dalam halaman HTML, anda boleh menambah teg meta berikut pada halaman untuk menentukan set aksara:
<meta charset="utf-8">
Jika ia muncul dalam storan pangkalan data, anda boleh menambah ia dalam sambungan pangkalan data Nyatakan set aksara dalam:
$conn = mysqli_connect('localhost', 'username', 'password', 'db_name'); mysqli_set_charset($conn, 'utf8');
Jika ia muncul dalam bacaan dan penulisan fail, anda boleh menentukan set aksara apabila membuka fail:
$file = fopen('example.txt', 'r'); stream_filter_append($file, "convert.iconv.utf-8/cp936");
Selepas menentukan masalah kod bercelaru, anda perlu menentukan lagi set aksara yang akan digunakan. Jika semua yang lain betul tetapi set aksara tidak betul, aksara bercelaru akan terus berlaku. Biasanya, utf-8 ialah set aksara yang paling biasa digunakan. Set aksara semasa boleh ditentukan dalam kod PHP menggunakan kod berikut:
echo ini_get('default_charset');
Jika set aksara semasa bukan utf-8, anda boleh mengubah suai set aksara lalai kepada utf-8 dalam php. fail ini.
Untuk mengubah suai fail php.ini, masukkan arahan berikut dalam terminal:
sudo nano /etc/php/7.2/apache2/php.ini
Di sini dengan PHP 7.2 Ambil Apache2 sebagai contoh Versi tertentu akan diubah suai mengikut situasi sebenar. Laluan fail juga mungkin berbeza bergantung pada kaedah pemasangan.
Kemudian cari baris kod berikut, nyahkomen dan ubah suainya kepada utf-8:
; default_charset = "UTF-8" default_charset = "utf-8" ; input_encoding = "UTF-8" ; output_encoding = "UTF-8"
Perhatikan bahawa jika kod di atas tidak wujud dalam fail php.ini, anda perlu untuk menambahnya secara manual.
Selepas mengubah suai fail php.ini, anda perlu memulakan semula Apache untuk pengubahsuaian berkuat kuasa. Masukkan arahan berikut dalam terminal untuk memulakan semula Apache:
sudo service apache2 restart
Selepas memulakan semula Apache, anda perlu menguji sama ada masalah bercelaru itu telah diselesaikan. Anda boleh menulis fail PHP mudah untuk diuji. Sebagai contoh, cipta fail bernama index.php dengan kandungan berikut:
<meta charset="utf-8">测试乱码问题
Kemudian, akses fail dalam penyemak imbas untuk menyemak sama ada terdapat sebarang masalah kod bercelaru.
Jika tiada kaedah di atas dapat menyelesaikan masalah bercelaru, anda juga boleh mencuba kaedah berikut:
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan kod kacau php ubuntu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!