mb_substr中文日文长度相同,显示长度不同

两段中文和日本,从肉眼上看是不在同一位置结束的,但是使用mb_strlen函数获取的长度确是相同的,测试代码如下:

$str_0 = '[银光字幕组][哆啦A梦新番Doraemon][006][GB][2005.05.20]秘密间谍大作战&Hello!宇';
$str_1 = 'Hello Kitty no Happy Birthday (ハローキティとミミィのハッピーバースデー) OVA.mp';
$str_2 = 'ARR] Hello Kitty no Fushigi no Kuni no Alice (ハローキティの不思議の国の';
$str_3 = '2014.myHD.六福喜事.Hello Babies.粵語中字.AC-3.1920x1080-MYfun4U.mkv';
return mb_strlen($str_0, 'utf-8').'@'.mb_strlen($str_1, 'utf-8').'@'.mb_strlen($str_2, 'utf-8').'@'.mb_strlen($str_3, 'utf-8');

测试结果长度都是59,但是肉眼很明显看到长度不统一啦,这样的话就会造成mb_substr这个函数截取的数据长度不统一,在前端就会换行了。

大家是如何解决这个问题的?

阅读 4.2k
1 个回答

...我这里程序输出的是59...然后我每个都特地数了两遍..都是59个字..mb_strlen并没有问题...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏