使用ucnv_convert()时韩文显示垃圾字符

问题描述 投票:0回答:1

我正在使用ibus键盘输入我的韩文字符。我正在以第一个,中间,最后一个格式输入一个人的名字。现在,当我使用ucnv_convert()从“ EUC-KR”转换为“ UTF-8”时中间名称显示为方框字符。以下是我的代码

    void convert(unsigned char * in, unsigned int inLen, char *from, char *to)
    {
        unsigned char *inbuff = in;
        char *pout = NULL;
        int outBuffLen = inLen*4;
        UErrorCode  ErrorCode = U_ZERO_ERROR;
        pout = new char [outBuffLen +1];
        memset(pout,0, outBuffLen );
        int size = ucnv_convert(to, from, pout,outBuffLen, (const char *) inbuff, inLen, &ErrorCode );

    }

输入字符集:EUC-KR(使用ibus键盘)输出:UTF-8

如果单词“ middle”(韩语)被转换,它总是给我框字符。请帮助

c++ icu
1个回答
0
投票
]进行从“ EUC-KR”到“ UTF-8”的转换时

“읻”不能在EUC-KR中表示。它不在“普通2350音节”列表中。但是,它可以在CP949中表示,CP949是Microsoft对EUC-KR的向后兼容扩展。人们说“ EUC-KR”时通常指CP949。所以我建议您改为尝试。

© www.soinside.com 2019 - 2024. All rights reserved.