$test ='A01_運動'; $encode = mb_detect_encoding($test , array("ASCII",'UTF-8',"GB2312","GBK",'BIG5','sjis-win')); $test =mb_convert_encoding( $test, 'sjis-win', $encode );但$test成了乱码,变成了A01_�^��
时间: 2023-12-13 22:05:18 浏览: 122
UTF-8.rar_utf_utf gb2312_utf 转换_utf-8_utf-8解码
在这个例子中,可能是因为 `mb_detect_encoding()` 函数不能正确地检测到 `$test` 的编码类型,导致在使用 `mb_convert_encoding()` 函数进行编码转换时出现了乱码。建议你手动指定 `$test` 的原始编码类型,例如:
```
$test = 'A01_運動';
$original_encoding = 'UTF-8';
$encode = mb_detect_encoding($test, array("ASCII", "UTF-8", "GB2312", "GBK", "BIG5", "sjis-win"));
if ($encode !== $original_encoding) {
$test = mb_convert_encoding($test, $original_encoding, $encode);
}
$test = mb_convert_encoding($test, 'sjis-win', $original_encoding);
```
这样,变量 `$test` 就保存了经过编码转换后的字符串,而不会出现乱码。
阅读全文