【问题标题】:problem with chinese character汉字的问题
【发布时间】:2011-02-05 14:27:09
【问题描述】:

我们可以使用这个将汉字存储到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时,它会像这样存储

("ä¸Šæµ·ä¸œæ¸¡èˆ¹èˆ¶ç®¡ç†æœ‰é™å...¬å¸")

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

注意:= 您在代码中看到 “A” 的地方有“& 符号”符号。如果我在那里写“ampersand”那么它将显示为汉字,所以这里注意了。

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

【问题讨论】:

  • 给我们一些代码,你尝试了什么。你如何阅读excel文件?你如何将它传递给MySQL?你如何确定它没有正确存储?

标签: php excel


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    这些字符不会以 UTF-8 格式存储在您的 Excel 文件中,因此必须进行转码。

    utf8_encode

    【讨论】:

      【解决方案3】:

      在 MySQL_connect 之后尝试:

      mysql_query("SET NAMES 'utf8'");
      

      【讨论】:

        【解决方案4】:

        您应该首先确保用户输入字符的数据库表和表单都是 UTF-8。另请注意,许多 PHP 函数不支持 UTF-8。如果您使用像 htmlentities() 这样的函数,请确保将它们替换为多字节字符串安全函数 (mb_)。

        【讨论】:

          猜你喜欢
          • 2011-11-12
          • 1970-01-01
          • 2021-09-05
          • 1970-01-01
          • 2010-11-08
          • 2011-03-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多