mysql - Excel 导出无法正确显示波斯语字符

标签 mysql excel encoding export persian

在将 MySQL 表和 View 导出到 Excel 期间,我遇到了波斯字符问题,它们被搞乱了,如下所示:

پیاده سازی چند پرداختی مبلغ درصدی

但是表和列的编码是 UTF-8。我猜这可能是因为 ODBC 驱动程序,因为从 SQL Server 导出到 Excel 似乎没问题。

最佳答案

这就是پרײه پٌ٠ه پفف٠ٌ پففففف پفففف پفففف پفففف پفففف پفففف پفففف پفففف پفففف پفففف پفففف 的 Mojibake

这是一个经典案例

  • 客户端中的字节已正确编码为 utf8(良好)。
  • 您可能默认使用SET NAMES latin1(或set_charset('latin1')或...)进行连接。 (应该是 utf8。)
  • 表中的列可能是也可能不是CHARACTER SET utf8,但它应该是这样。

如果您需要修复数据,则需要“两步更改”,例如

ALTER TABLE Tbl MODIFY COLUMN col VARBINARY(...) ...;
ALTER TABLE Tbl MODIFY COLUMN col VARCHAR(...) ... CHARACTER SET utf8 ...;

其中长度足够大,并且其他“...”具有其他内容(NOT NULL 等)已在列中。

关于mysql - Excel 导出无法正确显示波斯语字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33095260/

相关文章:

php - preg_replace 不适用于某些单词/字符

mysql - 更新查询中无自增列的最大值

vba - 数据透视表与数据透视缓存

Java POI - 将行作为列插入

java - 编码和解码字符串

android - 执行apache HttpPost时如何在UrlEncodedFormEntity中将空格编码为%20?

php - Eloquent::一对一,在两个表中均有效,但具有特定角色

php - 处理数据库上的同时上传

java - Spring Mvc-从数据库中删除用户

excel - 在连接函数中更改日期格式