В смысле? Языку С++ пофиг на человеческие языки, это раз. Два - исходные файлы хранятся в кодировке UTF-8, там можно писать не только на русском. Если же вы про вывод куда-то - то в зависимости от представления формата хранения символов - надо делать разные телодвижения. И если выводящяя сторона может работать с набором символов, хранящихся в UTF-8, то она это сделает. Если не умеет - выведет кракозябры.
Где, в Arduino IDE? Это функция WinAPI, к МК не имеет никакого отношения. Или я где-то пропустил нить обсуждения?
так это вроде одна из стандартных сишных функций. в ардуино ее нет? ну я хз, не шарю. но наверно можно нетрудно написать свою пересчитывалку, если знать какой должен быть формат на выходе. а да, там надо windows.h подрубать. возможно ли это в ардуино?
1. Читаем: https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms647473(v=vs.85).aspx 2. Видим, что эта функция - часть WinAPI, и к Arduino не имеет никакого отношения.
Можно, но только не хватит места на дуне. Ещё раз: не путайте тёплое с круглым: WinAPI - это WinAPI, это, грубо говоря, набор всяких интерфейсов взаимодействия с операционной системой семейства Windows. У вас на дуне стоит операционная система семейства Windows? Если да - то тогда смело можете в исходном коде прошивки юзать любую функцию WinAPI, в том числе CharToOem.
В настройках, "язык редактора" какой стоит? У меня в Windows интерфейс русский, в Arduino IDE "язык редактора" - по умолчанию.
Тогда хз, в чём дело. Я как-то не задавался вопросом, что там выводит в мониторе порта при выводе русских букв: привык, что при сохранении файлов исходников по умолчанию в кодировке UTF-8 в мониторе порта при выводе русских букв - кракозяблы, да как-то и забил на это, главное, что по UART корректно такие строки передаются, а уж там дело принимающей стороны, разобраться - что к чему. Возможно, у Сергея файлы исходников сохранены в кодировке Windows-1251, тогда должно корректно выводить в монитор порта русские символы. Гадать не буду, лишь предположил. З.Ы. Для себя решил, что лучше в UTF-8 всё оставить, т.к. более универсальная штука.
Дык и у мну в UTF-8, а вывод русского в монитор порта - в кракозяблах. Винда русифицированная, настройки редактора в Arduino IDE - как вы указали. Чудеса Оговорка - проверил сейчас под 1.6.7, гоняю проекты сперва на ней, там выпадает вот такое: Вместо кракозябл - должно быть слово "Свободная". По кракозяблам видно, что кодировка UTF-8, я уже на глаз такое определяю
С версии ARDUINO 1.8.2 * Serial monitor: now properly decodes UTF8 characters (thanks @aknrdureegaesr)
Спасибо, как я и предполагал - допилили в какой-то версии, не прошло и пятилетки Хотя вот, хоть убей, не понимаю - зачем русские буквы в UART нужны? Дело даже не в UTF-8 (хорошо, что допилили ребята это дело), а в принципе? Все железки, которые щупал - исключительно на латинице общаются по UART, а если где и используются какие кодировки - то это что-то типа UCS2. А чтоб вот прям на кириллице - не встречал. Или есть такие?