PHP编码转换在Excel读取中的作用体现

来源:互联网 发布:js if判断多个条件 编辑:程序博客网 时间:2024/05/01 00:35

PHP编码转换在Excel读取中体现了很大的作用。我们希望大家能够通过这篇文章介绍的内容可以完全掌握这一基本问题。

AD:

PHP编码转换事宜个比较基本的知识点,但是对于大多数初学PHP语言的人来说,往往会忽略掉它的重要性。我们今天就来具体讲解PHP编码转换在Excel读取中的作用体现。

  • PHP导入Excel文件技巧讲解
  • 如何正确运用PHP Spreadsheet_Excel_Writ
  • 具体讲解PHP导出Excel乱码的解决方法
  • 技巧分享 PHP批量导出csv文件
  • PHP读取Excel文件类的具体应用

PHP发展了不少,现在pear用起来很方便,其中就有相关的class来读取Excel文件里面的内容,如果不想使用pear的话,可以考虑使用excel_class.php,google一下,可以找到这个class的source code下载,也能找到基本的example code,用起来很方便。

在PHP编码转换时需要注意的是,从Excel里面读取出来的属于UTF-16LE编码,如果在移动应用中使用excel_class,则需要注意,因为通常手机都是支持UTF-8编码,其中就涉及到编码的转换。

例如我使用

echo $return[Sheet2][0][0];

来显示第1行第1列里面的内容,原本内容是“开始”,使用PHP在web上显示的时候也确实是“开始”,但是查看网页的源代码是

&#24320&#22987

其中&#是为了在网页上显示,24320和22987的十六进制表示则是“开始”的UTF-16LE编码。

那么我们需要做的就是将这个UTF-16LE编码转换为UTF-8编码。
首先打开excel_class.php,找到函数uc2html, 将函数中的代码注释掉,直接将参数返回, 即改函数不做任何操作。

function uc2html($str) {
return $str;
}

接下来使用PHP中提供的函数mb_convert_encoding来将UTF-16LE转换成UTF-8。

echo mb_convert_encoding($return[Sheet2][0][0], 'UTF-8', 'UTF-16LE');

到此,即完成了UTF-16LE到UTF-8的PHP编码转换。