<?php
$original = "ÄäÖö";
$shortened = mb_substr( $original, 0, 1 );
echo json_encode( $original );// OK
echo json_encode( $shortened );// PHP Warning: json_encode(): Invalid UTF-8 sequence in argument...
?>
似乎mb_substr错误的多字节字符串!我在这里遗漏了什么或者以某种方式滥用了mb_substr吗?
答案 0 :(得分:1)
尝试将默认内部编码设置为UTF-8。
mb_internal_encoding("UTF-8");
它对我很有用。
输出:
"\u00c4\u00e4\u00d6\u00f6""\u00c4"