只有两种编码的情况下,请问我这个函数安全吗?
在只有gbk和utf-8两种编码的情况下,有下面这个函数判断编码格式是否安全呢?
PHP code
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
function checkEncoding($str)
{
$s = json_encode($str);
$c = substr($s,0,7);
if($c == '"\ufeff') return 'utf-8';
return 'gbk';
}
------解决方案--------------------怎么可能这个是对的?
abcde0123456789在gbk 和 utf-8的情况下,字节代码是完全一样的
------解决方案--------------------不安全,甚至notepad就有个bom头陷阱。
事实上,你采用任何方案都不会安全。
------解决方案--------------------mb_check_encoding函数不行吗?
------解决方案--------------------csdn做的够烂的,想编辑帖子都不行。
附上查到的一个连接:http://stackoverflow.com/questions/1037363/how-to-check-the-charset-of-string
------解决方案--------------------