在将 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/