Я использую python3 .8 и C ++, G ++ для C ++. Если я напишу китайскую (в Unicode) строку в программе C ++, она покажет мне неправильную строку, когда я запускаю программу, например:
#include <iostream>
using namespace std;
int main()
{
cout << "你好" << endl;
return 0;
}
Но запустите ее:
D:\Desktop>g++ test.cpp -o test
D:\Desktop>test.exe
浣犲ソ
Хотя, возможно, вы не понимаете китайский язык, вы можете видеть, что это не строка, которую я хочу.
Если я изменил кодировку на «gbk», эта проблема была решена, но при запуске вылезла другая проблема python:
print("你好")
результат:
File "test.py", line 1
SyntaxError: Non-UTF-8 code starting with '\xc4' in file test.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
Кстати, это часть моего vimr c (конфигурация Gvim) в кодировке:
set fileencodings=utf-8,gbk,ucs-bom,utf-16,utf-32,gbk,big5,gb18030,latin1,gb2312
set encoding=gbk
set termencoding=gb2312
set fileencoding=gbk
" This will make Python be errored
set fileencodings=utf-8,gbk,ucs-bom,utf-16,utf-32,gbk,big5,gb18030,latin1,gb2312
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
" This will make C++ string wrong
Как мне найти закодированную строку C ++ и Python, которые могут быть правильными? Я использую Gvim для редактирования кода на C ++ и Python в Windows, спасибо за вашу помощь!