首頁  >  文章  >  後端開發  >  如何在 PHP 中轉換 UTF-8 和 ISO-8859-1 字串?

如何在 PHP 中轉換 UTF-8 和 ISO-8859-1 字串?

Susan Sarandon
Susan Sarandon原創
2024-11-02 09:05:03393瀏覽

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

在PHP 轉換UTF-8 和ISO-88591

當不同編碼的腳本需要互動時,不同格式之間轉換字元就變得至關重要。 PHP 提供了多個函數來促進此類轉換。

將 UTF-8 轉換為 ISO-88591

要將 UTF-8 字串轉換為 ISO-88591,可以使用 iconv() 或 mb_convert_encoding () 函數。這些函數需要特定的擴充:用於 iconv() 的 ext/iconv 和用於 mb_convert_encoding() 的 ext/mbstring。

<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>

將 ISO-88591 轉換為 UTF-8

要轉換 ISO- 88591 字串轉換為 UTF-8,您也可以使用 iconv() 或 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>

替代方案:utf8_encode() 和utf8_decode()

utf8_encode() 和utf8_decode () 函數可能不適合您的特定場景,因為:

  • utf8_decode() 會將使用UTF-8 編碼的ISO-8859-1 字元轉換為單字節ISO-8859-1,這可能不會
  • utf8_encode() 將ISO-8859-1 字元串編碼為UTF-8,而您需要反向轉換。

因此,使用 iconv() 或 mb_convert_encoding () 更適合 UTF-8 和 ISO-88591 之間的轉換。

以上是如何在 PHP 中轉換 UTF-8 和 ISO-8859-1 字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn