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

要编码的 stringarray

to_encoding

string 要转换成的编码类型。

from_encoding

在转换前通过字符代码名称来指定。它可以是一个 array 也可以是逗号分隔的枚举列表。 如果没有提供 from_encoding,则会使用内部(internal)编码。

参见支持的编码

返回值

编码后的 string。 成功时返回编码后的 stringarray, 或者在失败时返回 false

错误/异常

to_encodingfrom_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");
?>

参见