【问题标题】:Excel export does not show Persian characters correctlyExcel 导出无法正确显示波斯字符
【发布时间】:2015-10-13 06:06:12
【问题描述】:
在将 MySQL 表和视图导出到 Excel 期间,我遇到了波斯字符的问题,它们被弄乱了,如下所示:
پیاده سازی چند پرداختی مبلغ درصدی
但是表和列的编码是 UTF-8。我猜这可能是因为 ODBC 驱动程序,因为从 SQL Server 导出到 Excel 似乎没问题。
【问题讨论】:
标签:
mysql
excel
encoding
export
persian
【解决方案1】:
那是 پیاده سازی چند پرداختی مبلغ درصدی 的 Mojibake
这是经典案例
- 客户端中的字节已正确编码为 utf8(良好)。
- 您可能默认连接到
SET NAMES latin1(或set_charset('latin1') 或...)。 (应该是utf8。)
- 表格中的列可能是
CHARACTER SET utf8,也可能不是,但应该是这样。
如果您需要修复数据,则需要“2 步 ALTER”,类似于
ALTER TABLE Tbl MODIFY COLUMN col VARBINARY(...) ...;
ALTER TABLE Tbl MODIFY COLUMN col VARCHAR(...) ... CHARACTER SET utf8 ...;
长度足够大,而其他“...”的其他内容(NOT NULL 等)已经在列中。