Как конкретно я справляюсь с японскими символами в C ++? - PullRequest
4 голосов
/ 17 декабря 2011

Я пытаюсь сделать что-то простое, как это:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    wstring nihongo = L"みんなのにほんご";
    wcout << nihongo << endl;
    return 0;
}

Но я получаю следующие ошибки:

C:\Users\Leonne\Leomedia\MetaDatterTest.cpp|7|error: stray '\201' in program|

C:\Users\Leonne\Leomedia\MetaDatterTest.cpp|7|error: stray '@' in program|

C:\Users\Leonne\Leomedia\MetaDatterTest.cpp||In function 'int main()':|

C:\Users\Leonne\Leomedia\MetaDatterTest.cpp|7|error: converting to execution character set: Illegal byte sequence|

||=== Build finished: 3 errors, 0 warnings ===|

Я работаю на компьютере с Windows и пытаюсь сделать библиотеку максимально переносимой, и она должна иметь возможность работать с любыми символами: русскими, японскими, ASCII, всем.

Ответы [ 2 ]

3 голосов
/ 17 декабря 2011

Поддержка Visual Studio Юникод исходные файлы.Убедитесь, что в ваших файлах cpp сохранены файлы в формате utf16 или utf8 с BOM .После того, как в этом формате ваши файлы будут хорошо скомпилированы.

1 голос
/ 17 декабря 2011

Проверьте первый ответ на этот вопрос:

std :: wstring VS std :: string

и мой ответ на этот вопрос:

Обработка UTF-8 в C ++

Я полагаю, вы найдете там ответ на свой вопрос.Проблемы с кодировкой символов - немного запутанные вещи, и нет простого ответа ...

...