C++ ICU 라이브러리를 시작하는 데 어려움을 겪고 있습니다. 나는 간단한 예제를 얻으려고 노력했지만, 심지어 실패했다. UTF-8 문자열을 출력 한 다음 거기에서부터 이동하려고합니다. 여기ICU가있는 C++ UTF-8 출력
내가 무엇을 가지고 : 여기
#include <unicode/unistr.h>
#include <unicode/ustream.h>
#include <iostream>
int main()
{
UnicodeString s = UNICODE_STRING_SIMPLE("привет");
std::cout << s << std::endl;
return 0;
}
는 출력 :
$ g++ -I/sw/include -licucore -Wall -Werror -o icu_test main.cpp
$ ./icu_test
пÑивеÑ
내 터미널 및 글꼴 지원 UTF-8과 나는 정기적으로 UTF-8로 터미널을 사용합니다. 내 소스 코드는 UTF-8입니다.
ICU가 문자열을 UTF-16으로 저장하기 때문에 출력 스트림을 UTF-8로 설정해야 할 필요가 있다고 생각하지만 실제로 확신이 없으며 ustream.h에서 제공하는 연산자가 어쨌든 그렇게해라.
도움을 주시면 감사하겠습니다. 감사합니다. 당신이 출력을 파일로 작성하는 경우 실패 터미널 있는지 여부를 결정하는 것입니다
(중 터미널에서 파이프를 사용하여 리디렉션, 또는 프로그램 자체에서 파일 스트림을 열어) 어떻게됩니까
std :: wcout을 사용해 보셨습니까? – Milan
예, ICU는 연산자 <<를 제공하지 않는 것 같습니다. 그래서 g ++에서 오류 목록이 길어집니다. – Isaac
wcout에 버그를 신고 했습니까? (제발? :) (칭의와 함께?) –