【发布时间】:2014-07-12 08:53:41
【问题描述】:
对于傻瓜来说,在 PHP 中,单字节字符串和多字节字符串有什么区别,在什么情况下我们应该考虑一种或另一种?
对于单字节字符串(例如 US-ASCII、ISO 8859 系列等),请使用 substr 和多字节字符串(例如 UTF-8、UTF-16 等)使用 mb_substr:
// singlebyte strings $result = substr($myStr, 0, 5); // multibyte strings $result = mb_substr($myStr, 0, 5);
例如,如果我打算开发一些在中国使用的东西,我是否需要因为它们的特殊性而采取任何特殊措施? 'utf-8 编码不够好吗?
【问题讨论】:
-
PHP 不理解 UTF-8,你需要告诉它你的字符串是 UTF-8(就像中文字符一样),然后使用 'mb_x' 函数来处理它们。请注意,“mb_x”函数每 1 个字符处理 x 字节,而非“mb_x”函数每字符处理 1 个字节。
-
该死!谢谢,但这是一个复杂的解释人
-
无论字符集如何,您始终可以使用 mb_ 函数,并且在安全站点上
标签: php