我们可以将中文字符存储到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”,则会出现“&符号”符号。如果我在那里写“&符号”那么它将显示为中文字符,所以这里注意到了。
任何人都可以帮助我吗? 帮助应该是愉快的。 谢谢。祝你有美好的一天......
答案 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_
)替换它们。