中文问题

时间:2011-02-05 14:27:09

标签: php excel

我们可以将中文字符存储到mysql表中使用此

(“ meta http-equiv =”Content-type“value =”text / html; charset = UTF-8“”)

在页面顶部,手动轻松地通过输入框中文字符,它可以正常工作并将汉字存储到mysql表中(“ A #20026; A #24744; A #20026; A #24744;“)。
  但是当使用php从excel文件中读取中文字符并希望在php中插入mysqltable时它会像这样存储

( “上æμ·ä¸œæ¸¡è¹è¶ç®¡ç†æœ‰é™å...¬A”)

这也可以在php头函数的帮助下正常工作[“header('Content-type:text / html; charset = UTF-8');”没有http头,它无效。   但我想像上面那样存储中文字符(“ A #20026; A #24744; A #20026; A #24744;“)在mysql表中。

注意:=如果您在代码中看到“A”,则会出现“&符号”符号。如果我在那里写“&符号”那么它将显示为中文字符,所以这里注意到了。

任何人都可以帮助我吗?   帮助应该是愉快的。   谢谢。祝你有美好的一天......

4 个答案:

答案 0 :(得分:1)

您应该将问题从SQL重新标记为Excel。显然,它与mysql无关。问题是您在PHP中读取Excel文件的部分。您从Excel文件中获取了损坏的数据,然后做任何事情都为时已晚。

用于读取Excel文件的库是否完全理解unicode字符? PHP是否了解unicode或者该库是否至少能够在utf-8中发送unicode字符?我不这么认为。 (UTF-8字符串可以在实际上不支持unicode的脚本环境中正常工作,因为程序只将字符串从用户传输到数据库,反之亦然。)

答案 1 :(得分:0)

然后,您的excel文件中的字符不会以UTF-8格式存储,必须进行转码。

请参阅utf8_encode

答案 2 :(得分:0)

尝试使用MySQL_connect:

mysql_query("SET NAMES 'utf8'");

答案 3 :(得分:0)

首先应该确保数据库表和用户输入字符的表格都是UTF-8。另请注意,许多PHP函数不支持UTF-8 。如果您使用htmlentities()之类的函数,请确保使用Multibyte-String-secure函数(mb_)替换它们。