MATLAB2022aでの動作確認をしています。
2022aにて、2019b以前のバージョンで使用していたCSVファイル出力(ヘッダーデータ日本語含む+データ配列)のm-fileを実行するとCSVファイルはUTF-8で出力されます。
メモ帳等で開くと日本語部分の文字化けはしていませんが、エクセルで開くとヘッダーの日本語部分は文字化けを起こしています。
(2019b以前のバージョンではShift-JISで出力され問題はありませんでしたが、2020aからデフォルトの文字コードがUTF-8に変更された影響かと思います。)
業務上csvファイルを直接エクセルで開くといった頻度も多いことから、Shift-JISでCSV出力をしたいのですが、何かしらの操作や設定変更等で対応可能でしょうか。
お手数をおかけしますが教えて頂きたく思います。

2 件のコメント

Hernia Baby
Hernia Baby 2022 年 7 月 25 日
1点質問させてください
①出力の関数はどれを使っていましたか?
 csvwriteでしょうか?それともwritetableでしょうか?
k-inoue
k-inoue 2022 年 7 月 25 日
ご検討頂いていましたら申し訳ありませんが、コードを見直していたところ自己解決できました。
下記のようなコードでCSVファイルを出力していましたが、1行目のコードを2行目に変更することでMATLAB2022aでもUTF-8ではなく、Shift-JISでCSV出力ができました。
**************************************************************:
%fid = fopen('sample.csv','wt'); 
fid = fopen('sample.csv','wt','n','Shift_JIS'); 
header1='日本語';
header2='単位';
fprintf(fid,'%s\n',header1);
fprintf(fid,'%s\n',header2);
sampledata=(1:1:10)';
for i = 1:1:length(sampledata)
fprintf(fid,'%f\n',sampledata(i,:)); % 数値の書き出し
end
fclose(fid);

サインインしてコメントする。

 採用された回答

交感神経優位なあかべぇ
交感神経優位なあかべぇ 2022 年 7 月 25 日

1 投票

writetableやwritecellなど、Encodingのパラメーターがある関数の場合は、Encodingを'Shift-JIS'に設定することで、Shift-JISでcsvを生成できます。

1 件のコメント

k-inoue
k-inoue 2022 年 7 月 26 日
ご回答ありがとうございます。
参考にさせて頂きます。

サインインしてコメントする。

その他の回答 (0 件)

製品

リリース

R2022a

Community Treasure Hunt

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

Start Hunting!