大神我给解释下:
现在不明白:
mb_strlen('金','gbk') = 2
mb_strlen('金马','gbk') = 3
1
surfire91 2015-11-19 14:15:36 +08:00
一个返回的字节长度,一个返回的是字符长度。
不同编码的字符长度算法不同。 |
2
skydiver 2015-11-19 14:17:09 +08:00
这是个网页吧,网页是用的 utf8 吧?
把 utf8 的字符用 gbk 去数字符个数当然不准 |
3
msxcms 2015-11-19 14:22:50 +08:00
少年,自己去执行,别用什么 Sandbox
|
6
wshcdr 2015-11-19 14:32:35 +08:00
我这里是
int 4 int 2 int 1 int 2 int 2 |
8
wdlth 2015-11-19 14:34:19 +08:00
经过我测试,如果把 PHP 文件用 GBK 编码保存的话,执行结果就是 1 和 2 。用 UTF-8 编码保存,结果就是 2 和 3 。
应该是文件编码的问题 |
9
aisk 2015-11-19 14:34:44 +08:00
不懂 PHP ,不过这个还跟文件的编码方式有关吧。
|
10
wdlth 2015-11-19 14:40:21 +08:00
你用 UTF-8 编码去保存时,“金”变成了"閲?",“金马”变成了“閲戦┈”,长度就变了。
|