【问题标题】:Exporting Chinese characters from MySQL从 MySQL 导出汉字
【发布时间】:2011-08-31 04:03:32
【问题描述】:

在将查询结果导出到 XLS 文件时遇到中文字符问题。在我的数据库中,汉字被存储为像这样的编码格式

新里程集团

当我在网页上显示这些字符时,它们会在 PHP 提供的标题功能的帮助下自动转换为标准汉字。但是我们想从 MySQL 中提取带有标准汉字的 XLS 文件的汉字。

【问题讨论】:

  • 全部转为 UTF8。确保文件也保存为 UTF8
  • mplugjan 是对的。您可能需要检查这些内容:数据库存储、数据库连接编码、文件写入编码、文件打开(Excel ?)。我会首先检查问题不只是在打开...

标签: php mysql encoding cjk


【解决方案1】:

mplungjan 的建议是正确的,但做起来并不容易。
作为临时解决方案,您可以使用iconvmb_convert_encoding

【讨论】:

    【解决方案2】:

    试试这个

    mysqli_set_charset($connect,"utf8");

    【讨论】:

      【解决方案3】:

      很抱歉让它起死回生,但由于这是 Google 解决此问题的第一个结果,所以我想在头撞墙一个小时后分享我的解决方案。

      如前所述,您在 mySQL 中的数据应存储为 UTF8,列也应为 UTF8 (utf8mb4_general_ci)。

      问题不在于导出本身,而在于 Excel - 当导出的文件以 UTF8 编码并且 Excel 数据以 ANSI 处理时会发生这种情况(如果您只是通过单击打开文件,默认情况下会发生这种情况)。

      您需要像这样将文件导入 Excel:

      1. 创建一个新的 Excel 文件(只需打开 Excel)。
      2. 从文本中选择数据。
      3. 选择导出的 CSV 文件。将显示文本导入向导对话框。查找预选“Windows - ANSI”的“数据源”下拉菜单。将其更改为“65001 - Unicode (UTF8)”。
      4. 选择分隔并单击下一步。
      5. 取消选择选项卡,选择逗号,然后单击下一步。
      6. 点击完成。
      7. 在“导入数据”对话框中,单击“确定”。

      瞧!如果有人对此有更简单的解决方案 - 请分享。天哪,现在是 21 世纪,我们仍然必须处理这样的垃圾

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-09
        • 2013-01-05
        • 1970-01-01
        相关资源
        最近更新 更多