Windows環境でMATLAB R2022bの -batch 実行時に日本語出力が文字化けする
Afficher commentaires plus anciens
MATLAB R2022bを使用してCIを実行しています。matlab -batch コマンドで実行した際に、日本語の出力が文字化けしています。
実際に出力したいのはMATLABの組み込み関数が出力するメッセージのため、自作のログ文字列をすべて英語に置き換える方法では対応できません。
日本語の出力を維持したまま文字化けを解消する設定や対処方法をご存じでしたら、ご教示いただけますと幸いです。
解決方法の方針としては、
1. MATLABの出力エンコーディングをUTF-8に変更する
2. MATLAB実行のみ、選択中の言語を英語にする(システム全体の言語を英語にすることは、影響が大きいのでやれません)
下記に調査環境情報を記載します
実行環境
- OS:Windows Server 2025
- 言語環境:日本語
- システムロケール:UTF-8
- MATLABバージョン:R2022b
原因調査で使用したコマンドと実行結果
- feature('locale')の実行結果
MATLABエンコード:terminalEncodingのみShift_JISで、それ以外はUTF-8
```
ctype: 'ja_JP.UTF-8'
collate: 'ja_JP.UTF-8'
time: 'ja_JP.UTF-8'
numeric: 'en_US_POSIX.UTF-8'
monetary: 'ja_JP.UTF-8'
messages: 'ja_JP.UTF-8'
encoding: 'UTF-8'
terminalEncoding: 'Shift_JIS'
jvmEncoding: 'UTF-8'
status: 'MathWorks locale management system initialized.'
warning: ''
```
- powershell "[Console]::OutputEncoding"の実行結果
```
powershell "[Console]::OutputEncoding"
BodyName : utf-8
EncodingName : Unicode (UTF-8)
HeaderName : utf-8
WebName : utf-8
WindowsCodePage : 1200
IsBrowserDisplay : True
IsBrowserSave : True
IsMailNewsDisplay : True
IsMailNewsSave : True
IsSingleByte : False
EncoderFallback : System.Text.EncoderReplacementFallback
DecoderFallback : System.Text.DecoderReplacementFallback
IsReadOnly : True
CodePage : 65001
feature('locale')実行時のterminalEncodingのみがSJISになっているため、ここをUTF-8に変更できれば解決すると考え調査したのですが、解決できませんでした
Réponses (0)
Catégories
En savoir plus sur 言語の基礎 dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!