关于PHP中的mb字符串和普通字符串

lov*_*ing 1 php mbstring

我怎么知道字符串是mb字符串?所以我们使用mb_strlen而不是strlen?

Pek*_*ica 7

需要始终知道字符串的编码方式,以及字符串是否为多字节编码.毕竟,你需要传递字符串的编码作为第二个参数mb_strlen()来获得可靠的结果,对吧?

传入数据的编码将始终以某种方式定义 - 处理表单数据时页面的编码; 处理数据库数据时的数据库连接和表的编码; 等等.你的工作是以一种你总是知道编码在哪里的方式构建流程.

唯一的例外是当您处理未正确声明其内容编码的任意第三方数据时.然后(并且只有到那时)可以使用嗅探功能mb-detect-encoding()和同事一样.请记住,这些函数非常容易出错,并且只能让您有一个有根据的猜测猜测字符串的编码,而不是硬信息.