php – utf8_encode功能目的
发布时间:2020-12-13 18:12:22 所属栏目:PHP教程 来源:网络整理
导读:假设我用UTF-8编码我的文件. 在PHP脚本中,将比较一个字符串: $string="ぁ";$string = utf8_encode($string); //Do i need this step?if(preg_match('/ぁ/u',$string))//Do if match... 它的字符串真的是没有utf8_encode()函数的UTF-8? 如果用UTF-8编码文件
假设我用UTF-8编码我的文件.
在PHP脚本中,将比较一个字符串: $string="ぁ"; $string = utf8_encode($string); //Do i need this step? if(preg_match('/ぁ/u',$string)) //Do if match... 它的字符串真的是没有utf8_encode()函数的UTF-8?
如果您阅读了
utf8_encode 的手册条目,它会将ISO-8859-1编码的字符串转换为UTF-8.函数名称是一个可怕的误称,因为它表明某种必要的自动编码.事实并非如此.如果您的源代码保存为UTF-8并且您将“あ”分配给$string,则$string保存以UTF-8编码的字符“あ”.无需采取进一步行动.实际上,尝试将UTF-8字符串(错误地)从ISO-8859-1转换为UTF-8会使其变得混乱.
为了详细说明,您的源代码将被读取为字节序列. PHP用ASCII解释对它很重要的东西(所有关键字和运算符等). UTF-8向后兼容ASCII.这意味着,所有“普通”ASCII字符都使用ASCII和UTF-8中的相同字节表示.所以PHP被“解释为”,无论它是否应该以ASCII或UTF-8保存.引号之间的任何内容,PHP只是作为文字位序列.因此PHP将您的“あ”视为“11100011 10000001 10000010”.它并不关心引号之间究竟是什么,它只是按原样使用它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |