当我运行此代码时:
$x = '国際交流基金 - 「松島図屏風」他 日米所蔵作品による夢の競演「宗達:創造の波」展開催';
var_dump(mb_substr($x, 0, 80));
我希望字符串不会被截断,因为它少于80个字符。
然而,这是输出:
string(80) "国際交流基金 - 「松島図屏風」他 日米所蔵作品による夢�"
知道为什么mb_substr会截断它(而不是正确截断最后一个字符)?
答案 0 :(得分:1)
设置函数使用的正确编码:
mb_substr($x, 0, 80, "UTF-8")
mb_internal_encoding()
之前,mb_substr()
$x = '国際交流基金 - 「松島図屏風」他 日米所蔵作品による夢の競演「宗達:創造の波」展開催';
var_dump(mb_substr($x, 0, 80, "UTF-8"));
输出:
string(123) "国際交流基金 - 「松島図屏風」他 日米所蔵作品による夢の競演「宗達:創造の波」展開催"