Хорошо, поэтому я пытаюсь прочитать форматированный текстовый файл json с акцентами (французский) под W8, используя C++ (Visual Studio 2012 Express).Кодировка символа файла C++
Это файл:
{"products": [{"id": 125, "label": "Billél"}, {"id": 4, "label": "Rùbin"}]}
Одна линия, закодированные в UTF-8 (без BOM), сохраняется как D: /p.txt
Это код чтения в C++:
std::ifstream in("D:/p.txt", std::ios::binary | std::ios::in);
std::string content((std::istreambuf_iterator<char>(in)), (std::istreambuf_iterator<char>() ));
выход я получаю:
{"products": [{"id": 125, "label": "Bill├®l"}, {"id": 4, "label": "R├╣bin"}]}
Пробовал с помощью CharToOemA:
{"products": [{"id": 125, "label": "Billél"}, {"id": 4, "label": "Rùbin"}]}
Моего кодовым должен позволить мне показывать акценты в консоли (я пытался вторя такие акценты, которые дали вполне хороший дисплей). Кодовая страница ввода и вывода для моей консоли C++ - CP850 (IBM Internatinal Latin-1).
Как я могу получить свой код для вывода правильного акцента в консоли? В конечном итоге мне понадобилось бы кросс-платформенное решение, если это возможно.
Вы не можете отобразить эту информацию правильно, пока не будете * читать * ее правильно, вас еще нет. Чтение utf-8 с iostream - это ракетостроение, которое хорошо освещено во многих вопросах. Введите «codecvt» в поле поиска. –