<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[观夏Note]]></title> 
<link>//gm.angeldm.com/index.php</link> 
<description><![CDATA[新技术番]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[观夏Note]]></copyright>
<item>
<link>//gm.angeldm.com/post//</link>
<title><![CDATA[PHP读取Excel中关于编码转换的问题]]></title> 
<author>果面 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[网页相关]]></category>
<pubDate>Tue, 02 Sep 2008 21:37:23 +0000</pubDate> 
<guid>//gm.angeldm.com/post//</guid> 
<description>
<![CDATA[ 
	编码是个很基础的问题，也是大家很容易忽略的问题，写代码之前多多考虑，以后会少很多麻烦。<br/><br/>PHP发展了不少，现在pear用起来很方便，其中就有相关的class来读取Excel文件里面的内容，如果不想使用pear的话，可以考虑使用excel_class.php，google一下，可以找到这个class的source code下载，也能找到基本的example code，用起来很方便。<br/><br/>需要注意的是，从Excel里面读取出来的属于UTF-16LE编码，如果在移动应用中使用excel_class，则需要注意，因为通常手机都是支持UTF-8编码，其中就涉及到编码的转换。<br/><br/>例如我使用<br/>echo $return[Sheet2][0][0];<br/>来显示第1行第1列里面的内容，原本内容是“开始”，使用PHP在web上显示的时候也确实是“开始”，但是查看网页的源代码是<br/>&#24320&#22987<br/>其中&#是为了在网页上显示，24320和22987的十六进制表示则是“开始”的UTF-16LE编码。<br/><br/>那么我们需要做的就是将这个UTF-16LE编码转换为UTF-8编码。<br/>首先打开excel_class.php，找到函数uc2html， 将函数中的代码注释掉，直接将参数返回， 即改函数不做任何操作。<br/>function uc2html($str) &#123;<br/>&nbsp;&nbsp;return $str;<br/>&#125;<br/><br/>接下来使用PHP中提供的函数mb_convert_encoding来将UTF-16LE转换成UTF-8。<br/><br/>echo mb_convert_encoding($return[Sheet2][0][0], 'UTF-8', 'UTF-16LE');<br/><br/>到此，即完成了UTF-16LE到UTF-8的转换。
]]>
</description>
</item><item>
<link>//gm.angeldm.com/read.php?&amp;guid=0#topreply</link>
<title><![CDATA[[评论] PHP读取Excel中关于编码转换的问题]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>//gm.angeldm.com/read.php?&amp;guid=0#topreply</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>