php检测文字编码的方法
前言
做phper经常要读取excel文件。有的excel是utf-8的,有的是GBK的。而我们的数据库编码也一样,有的是utf-8的,有的是GBK的。要把这些excel中的数据读取到数据库中,就必须保证编码是一致的。
方法
1 获取当前字符串的编码
$encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));
2 将字符编码改为utf-8
$str_encode = mb_convert_encoding($str, 'UTF-8', $encode);
注意,我在做实验的时候发现GB2312的内容,我打印出来的编码是:“EUC-CN”,查了一下,原来是这样:
原来EUC-CN是gb2312编码的一种表示方法。
那么,gbk和gb2312是什么关系呢?答案是:gbk包含gb2312。
坚持!