Если раньше, во времена Windows XP и Windows 7, среда разработки IAR (по крайней мере в версии 5.5 и 6.5) поддерживала очень удобную однобайтовую кодировку текста ANSI для русского текста, то теперь, с появлением Windows 10 можно использовать только кодировку UTF-8.
[Как добиться редактирования русского текста IAR 8.30]
Процесс по шагам:
1. Tools -> Options... -> Common Fonts -> выберите, если это еще не выбрано, шрифт Courier, Набор символов: Кириллица -> OK.
2. Tools -> Options... -> Editor -> File Encoding -> Default character encoding: UTF-8. Также поставьте галочку Auto-detect character encoding. В выпадающем списке "EOL characters:" выберите PC, это задает традиционное двухсимвольное окончание строк 0x0D, 0x0A (CRLF) для текста на платформе Windows.
3. Теперь осталось все старые файлы текста перекодировать в кодировку UTF-8. К сожалению, в самом IAR это сделать нельзя, придется воспользоваться сторонними инструментами.
Для этой цели я пользуюсь любимым текстовым редактором Notepad2. Чтобы проверить / поменять кодировку файла, откройте этот файл в Notepad2, и выберите в меню File -> Encoding -> UTF-8. Редактор предупредит о смене кодировки файла: "Переключение кодировки с ANSI на не-ANSI (и наоборот) может заменить не поддерживаемый текст символами по умолчанию, и история Отмены (Undo) будет очищена. Продолжить?":
Ответьте положительно "Yes", и текст будет перекодирован в UTF-8, сохраните файл. Если этот файл был открыт в редакторе IAR, то он будет автоматически обновлен, и теперь Вы сможете редактировать в нем русский текст.
Имейте в виду, что теперь каждый символ текста может кодироваться не одним, а двумя байтами. Это чревато дополнительными неудобствами при выводе русского текста в последовательные терминалы, например в UART. Если на выходе последовательного порта нежелателен поток символов в кодировке UTF-8, то перед физическим выводом русского текста потребуется дополнительная перекодировка из UTF-8 в ANSI или в КОИ8.
[А если все-таки нужна однобайтная русская кодировка?]
Иногда я все же оставляю однобайтную кодировку русского текста ANSI (Tools -> Options... -> Editor -> File Encoding -> Default character encoding: System). Это бывает необходимо в простых системах вывода текста в терминал или на дисплей (или если нужно работать с длинными и русскими именами в FatFS), когда нецелессобразно делать перекодировку из UTF8 в ANSI и обратно.
Редактор IAR нормально показывает русские буквы в кодировке ANSI (ASCII-Windows1251), просто не дает редактировать русский текст (нельзя вводить русские буквы). В этом случае для правки русского текста в строках и комментариях я пользуюсь внешним редактором (notepad2 или notepad++). |
Комментарии
Очень помогло!
RSS лента комментариев этой записи