Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar rentetan UTF-8 dan ISO-8859-1 dalam PHP?

Bagaimana untuk menukar rentetan UTF-8 dan ISO-8859-1 dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-11-02 09:05:03393semak imbas

How to convert UTF-8 and ISO-8859-1 strings in PHP?

Menukar UTF-8 dan ISO-88591 dalam PHP

Apabila skrip dengan pengekodan berbeza memerlukan interaksi, ia menjadi penting untuk menukar aksara antara format yang berbeza. PHP menyediakan beberapa fungsi untuk memudahkan penukaran sedemikian.

Menukar UTF-8 kepada ISO-88591

Untuk menukar rentetan UTF-8 kepada ISO-88591, anda boleh menggunakan iconv() atau mb_convert_encoding () fungsi. Fungsi ini memerlukan sambungan khusus: ext/iconv untuk iconv() dan ext/mbstring untuk mb_convert_encoding().

<code class="php">$utf8 = 'ÄÖÜ'; // in a UTF-8 encoded file

// Using iconv()
$iso88591 = iconv('UTF-8', 'ISO-8859-1', $utf8);

// Using mb_convert_encoding()
$iso88591 = mb_convert_encoding($utf8, 'ISO-8859-1', 'UTF-8');</code>

Menukar ISO-88591 kepada UTF-8

Untuk menukar ISO- 88591 rentetan ke UTF-8, anda juga boleh menggunakan iconv() atau mb_convert_encoding().

<code class="php">$iso88591 = 'ÄÖÜ'; // in an ISO-8859-1 encoded file

// Using iconv()
$utf8 = iconv('ISO-8859-1', 'UTF-8', $iso88591);

// Using mb_convert_encoding()
$utf8 = mb_convert_encoding($iso88591, 'UTF-8', 'ISO-8859-1');</code>

Alternatif: utf8_encode() dan utf8_decode()

The utf8_encode() dan utf8 () fungsi mungkin tidak sesuai untuk senario khusus anda kerana:

  • utf8_decode() menukar aksara ISO-8859-1 yang dikodkan dengan UTF-8 kepada ISO-8859-1 bait tunggal, yang mungkin tidak jadilah apa yang anda mahukan.
  • utf8_encode() mengekod rentetan ISO-8859-1 kepada UTF-8, manakala anda memerlukan penukaran terbalik.

Oleh itu, menggunakan iconv() atau mb_convert_encoding () adalah lebih sesuai untuk menukar antara UTF-8 dan ISO-88591.

Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan UTF-8 dan ISO-8859-1 dalam PHP?. 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