Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menyelesaikan kod kacau php ubuntu

Bagaimana untuk menyelesaikan kod kacau php ubuntu

PHPz
PHPzasal
2023-04-24 14:53:24922semak imbas

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.

  1. Kenal pasti masalahnya

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");
  1. Sahkan set aksara

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.

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

  1. Mulakan semula Apache

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
  1. Uji

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.

  1. Penyelesaian lain

Jika tiada kaedah di atas dapat menyelesaikan masalah bercelaru, anda juga boleh mencuba kaedah berikut:

  • Ubah suai dalam cara yang sama fail konfigurasi MySQL menentukan set aksara lalai sebagai utf-8; set aksara tidak pasti Seterusnya, gunakan fungsi mb_detect_encoding() untuk mengesan set aksara secara automatik.
  • Ringkasan
  • Apabila menggunakan Ubuntu untuk membina persekitaran pembangunan PHP, aksara bercelaru adalah masalah biasa. Biasanya, masalah ini boleh diselesaikan dengan menentukan set aksara dan mengubah suai fail php.ini. Jika tiada kaedah ini menyelesaikan masalah, anda perlu mempunyai pemahaman yang lebih mendalam tentang PHP dan teknologi berkaitan untuk penyahpepijatan dan pengoptimuman selanjutnya.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan kod kacau php ubuntu. 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