MATLAB/エンコーディングの確認と変更

MATLABでmファイルなどが文字化けしたらエンコーディングの確認と変更をしましょう.

エンコーディングの確認

feature('locale')

で確認する.

ctype: 'ja_JP.Shift_JIS'
             collate: 'ja_JP.Shift_JIS'
                time: 'ja_JP.Shift_JIS'
             numeric: 'en_US_POSIX.Shift_JIS'
            monetary: 'ja_JP.Shift_JIS'
            messages: 'ja_JP.Shift_JIS'
            encoding: 'Shift_JIS'
    terminalEncoding: 'Shift_JIS'
         jvmEncoding: 'MS932'
              status: 'MathWorks locale management system initialized.'
             warning: ''

ここで,ソースコードをUTF-8で開くためには,jvmEncodingをUTF-8に変更する必要がある.

エンコーディングの変更

C:\Program Files\MATLAB\R2022b\bin\lcdata.xmlをバックアップを取ってから編集する.

</lcdata>の前の行に下記のコードを書いて保存する

<codeset>
  <encoding name="UTF-8">
    <encoding_alias name="Shift_JIS" />
  </encoding>
</codeset>

再度feature(‘locale’)で確認して,jvmEncodingが’UTF-8’になっているかを確認する.

 

補足:SimuLinkが入っていれば,slCharacterEncodingを使えばできる.  MATLABスクリプト上で以下を実行するだけ.

slCharacterEncoding('UTF-8')

 

 

参考サイト(この二つを見ればほぼできる)