L'export Excel ne montre pas correctement les caractères persans

Au cours de l'export des tables MySQL et des vues vers Excel, j'ai des problèmes avec les caractères persans, ils ont été dérangé quelque chose comme ceci:

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

Cependant, le encoding des tables et des colonnes est UTF-8. Je suppose que cela peut être dû au pilote ODBC, car l'export de SQL Server vers Excel semble OK.

C'est Mojibake pour پیاده سازی چند پرداختی مبلغ درصدی

C'est le cas classique de

  • Les octets que vous avez dans le client sont correctement encodés dans utf8 (bon).
  • Vous avez connecté SET NAMES latin1 (ou set_charset('latin1') ou …), probablement par défaut. (Cela aurait dû être utf8 ).
  • La colonne dans les arrays a peut-être ou non été CHARACTER SET utf8 , mais ça aurait dû l'être.

Si vous devez réparer pour datatables, il faut un "ALTER" en deux étapes, quelque chose comme

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

où les longueurs sont assez grandes et l'autre "…" ont tout ce qui a été ( NOT NULL , etc.) était déjà sur la colonne.