如果是汉字的话那就不应该正确输出啊。。而且比如PHP文件编码为UTF-8,那么内部的String类型也是UTF-8么?
我的回答不是。
那String既然不支持UTF-8,那显示的时候为什么又不会出现错误呢??
如果是汉字的话那就不应该正确输出啊。。而且比如PHP文件编码为UTF-8,那么内部的String类型也是UTF-8么?
我的回答不是。
那String既然不支持UTF-8,那显示的时候为什么又不会出现错误呢??
PHP文件编码是u8,string储存的也是u8啊,不信你urlencode看一下好了。如果你页面的charset在meta里面设置了u8理所当然就不会显示错误。你试试设置成gbk,看他错误不错误。
PHP不支持unicode 是指PHP文件以Unicode编码保存不会被解析,
会直接作为静态页面输出源代码,
其实以UTF8带BOM格式保存也是有问题的。
PHP没有处理BOM头的机制,带BOM的编码格式都不行。
我们通常用UTF8无BOM格式,或者GBK(GB2312)
这个问题已经是3年前了,但肯定仍有新手不理解这里的含义,我写了篇文章阐述这里的原理,看完就明白了:https://whj.site/2018/06/28/p...
2 回答1.6k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
2 回答959 阅读✓ 已解决
2 回答1k 阅读
1 回答906 阅读
1 回答868 阅读
1 回答860 阅读
Unicode是一种表示所有字母和符号的可靠方式。
PHP官方文档上说:“一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节。这意味着 PHP 只能支持 256 的字符集,”
意味着PHP只能支持八位二进制编码的字符集。而Unicode则是所有的。
charset=utf-8这一部分表明使用的是UTF-8字符编码,这是8位Unicode转换格式(8-bit UnicodeTransformation Format)的简写。
如此看来的话,是不是就能解释为什么PHP不能支持Unicode编码吧,能是能出来,只不过是些奇怪的字符。