在yii2框架中看到了php与redis通过socket通信的时候,框架中计算字符串的长度和截取返回的信息都是使用的8bit这种编码方式:
mb_strlen($arg, '8bit')
文档中没有关于该编码的说明,什么时候该使用这种编码方式?这种编码方式对中文编码不会有问题?
在yii2框架中看到了php与redis通过socket通信的时候,框架中计算字符串的长度和截取返回的信息都是使用的8bit这种编码方式:
mb_strlen($arg, '8bit')
文档中没有关于该编码的说明,什么时候该使用这种编码方式?这种编码方式对中文编码不会有问题?
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
2 回答2.2k 阅读✓ 已解决
1 回答569 阅读✓ 已解决
PHP支持mbstring.func_overload, 用于解决原生substr无法有效应对多字节编码字符串问题
那么这种情况下php runtime状态是未知的, 所以在计算字符长度时, 用mb_strlen 8bit来保证计算字符串长度的正确性(按照1byte = 8bit)