Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengendalikan Nama Fail UTF-8 dalam PHP pada Windows?

Bagaimanakah Saya Boleh Mengendalikan Nama Fail UTF-8 dalam PHP pada Windows?

Linda Hamilton
Linda Hamiltonasal
2024-11-03 14:18:31214semak imbas

How Can I Handle UTF-8 Filenames in PHP on Windows?

PHP - Mengendalikan Nama Fail UTF-8 pada Windows

Pernyataan Masalah

Memuat naik fail dengan nama fail yang dikodkan UTF-8 mengakibatkan aksara yang herot pada Windows.

Penyelesaian Cadangan

Cadangan asal untuk menyelesaikan isu ini melibatkan penggunaan fungsi iconv() untuk menukar nama fail kepada halaman kod yang serasi dengan sistem Windows, seperti CP1258. Walau bagaimanapun, pendekatan ini mempunyai had.

Penyelesaian Kemas Kini

Pada hakikatnya, fungsi sistem fail PHP hanya boleh mengendalikan aksara yang berada dalam halaman kod aktif sistem. Oleh itu, dua penyelesaian yang mungkin timbul:

Pilihan 1:

  • Hadkan aksara nama fail pada halaman kod sistem (cth., CP437 dalam kes anda)
  • Pilihan ini mengehadkan penggunaan aksara Vietnam.

Pilihan 2:

  • Tukar halaman kod sistem kepada bahasa Vietnam (mis., CP1258 )
  • Tukar nama fail kepada halaman kod baharu (cth., $fn2 = iconv("UTF-8","cp1258", $base_dir.$fn);)
  • Pilihan ini juga mengehadkan aksara nama fail kepada kod Vietnam halaman 1258.

Kelemahan Kedua-dua Pilihan:

  • Pilihan 1: Ketidakupayaan untuk gunakan aksara Vietnam tertentu
  • Pilihan 2: Keperluan untuk menukar halaman kod sistem dan pengehadan pada aksara nama fail

Maklumat Tambahan tentang Menukar Halaman Kod Sistem

Untuk menukar halaman kod sistem:

  1. Navigasi ke Panel Kawalan > Rantau
  2. Pilih tab "Pentadbiran"
  3. Di bawah "Bahasa untuk program bukan Unikod," klik butang "Tukar tempat sistem"
  4. Pilih "Vietnam (Vietnam)" daripada menu lungsur turun

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Nama Fail UTF-8 dalam PHP pada Windows?. 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