mb_convert_encoding
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_convert_encoding — 轉換字元的編碼
說明
mb_convert_encoding(array|string
$string
, string $to_encoding
, array|string|null $from_encoding
= null
): array|string|false
將 string 型別 str
的字元編碼從可選的 from_encoding
轉換到 to_encoding
。
當參數 string
是一個 array 時,將遞迴轉換它所有的 string 值。
參數
-
string
-
要編碼的 string 或 array。
-
to_encoding
-
string
要轉換成的編碼型別。 -
from_encoding
-
在轉換前通過字元程式碼名稱來指定。它可以是一個 array 也可以是逗號分隔的列舉列表。 如果沒有提供
from_encoding
,則會使用內部(internal)編碼。參見支援的編碼。
返回值
編碼后的 string。
成功時返回編碼后的 string 或 array, 或者在失敗時返回 false
。
錯誤/異常
當 to_encoding
或 from_encoding
為無效的編碼時,
PHP 8.0.0 起將拋出 ValueError;
而在 PHP 8.0.0 之前的版本里,會產生一個 E_WARNING
。
更新日誌
版本 | 說明 |
---|---|
8.0.0 |
現在,當 to_encoding 為無效編碼時,
mb_convert_encoding() 會拋出 ValueError。
|
8.0.0 |
現在,當 from_encoding 為無效編碼時,
mb_convert_encoding() 會拋出 ValueError。
|
8.0.0 |
現在 from_encoding 可以傳入 null。
|
7.2.0 |
現在該函式的 string 參數同時能接受 array 型別。
在此之前,僅支援 string。
|
範例
示例 #1 mb_convert_encoding() 例子
<?php
/* 轉換內部編碼為 SJIS */
$str = mb_convert_encoding($str, "SJIS");
/* 將 EUC-JP 轉換成 UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");
/* 從 JIS, eucjp-win, sjis-win 中自動檢測編碼,並轉換 str 到 UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");
/* "auto" 擴充套件成 "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>