1
<?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 吗?

4

1 回答 1

1

尝试将默认内部编码设置为 UTF-8。

mb_internal_encoding("UTF-8");

它对我很有用。

输出:

"\u00c4\u00e4\u00d6\u00f6""\u00c4"
于 2013-09-19T12:42:58.053 回答