Только для Mac OSX!
Когда я нашел решение, которое сработало в моем случае, я хочу поделиться им.
Mathworks рекомендует здесь использовать slCharacterEncoding(encoding)
для изменения кодировки по желанию, но для OSX это не решает проблему именно так, как feature('DefaultCharacterSet')
в принятом ответе не делает этого. Что помогло мне получить набор кодировки UTF-8 для открытия и сохранения файлов .m, так это следующая ссылка на ответы MATLAB:
https://www.mathworks.com/matlabcentral/answers/12422-macosx-encoding-problem
Matlab, похоже, игнорирует любое значение, установленное в slCharacterEncoding(encoding)
или feature('DefaultCharacterSet')
, но использует регион, заданный в Системных настройках -> Язык и регион. После проверки того, какой регион выбран в нашем случае, можно определить фактическую кодировку в скрытом файле конфигурации в
$matlabroot/bin/lcdata.xml
Этот каталог можно открыть, перейдя в Приложения и щелкнув правой кнопкой мыши Matlab, выбрав Показать содержимое пакета, как на скриншоте (здесь на немецком языке)
Например, для немецкого ISO-8859-1 по умолчанию его можно настроить, изменив соответствующую строку в файле lcdata.xml:
<locale name="de_DE" encoding="ISO-8859-1" xpg_name="de_DE.ISO8859-1">
до:
<locale name="de_DE" encoding="UTF-8" xpg_name="de_DE.UTF-8">
Если выбранный регион отсутствует в файле lcdata.xml, это не будет работать.
Надеюсь, это поможет!