writetable 関数などで日本語を含む CSV ファイルを生成し、Excel で開くと日本語が文字化けするのはなぜですか?

44 views (last 30 days)
MATLAB R2022b を使用しています。
writetable 関数や writecell 関数などを使用し、日本語列ヘッダを含む CSV ファイルを作成しました。
M = magic(5);
name = ["データ1", "データ2", "データ3", "データ4", "データ5"];
T = array2table(M,'VariableNames',name);
writetable(T,'data.csv')
しかし、作成された CSV ファイルを Excel で開くと、日本語の部分が文字化けしています。

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 27 Jan 2023
Edited: MathWorks Support Team on 27 Jan 2023
これは、エンコードの違いが原因である可能性があります。
MATLAB の既定のエンコードは UTF-8 ですが、Excel の場合は、異なる可能性があります。
エンコードは、"writetable" 呼び出し中にオプションとして変更できます。
例:
 
writetable(T,'data.csv', 'Encoding', 'Shift-JIS')
なお、上記で解決されない場合は、Excel 以外の別のテキストエディタなどで同じファイルを開き、文字化けしているか、ご確認ください。
Excel のみ文字化けしている場合は、Excel 側の設定に依存している可能性があります。
外部サイトなどを参考に、Excel のオプションにて、表示言語と編集言語の設定が "日本語" を優先しているか、など見直しをご検討ください。

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!