【发布时间】:2014-08-24 06:02:52
【问题描述】:
我想在c++ 中的string 中添加一个变音符号。假设我想通过以下方式修改wordz 字符串:
String respj = resp[j];
std::string respjz1 = respj; // create respjz1 and respjz2
std::string respjz2 = respj;
respjz1[i] = 'ź'; // put diacritic marks
respjz2[i] = 'ż';
我不断收到:wordş 和 wordĽ(而不是 wordź 和 wordż)。我试图用谷歌搜索它,但我不断得到与相反问题相关的结果——变音符号标准化为非变音符号。
【问题讨论】:
-
你试过使用unicode吗?
-
这是什么编译器?
-
检查编译器的编码?
-
好吧,实际上我通过
R中的Rcpp插件使用c++函数(R是统计计算的环境)并认为可能有一个c++函数来强制正确编码。如果不是,我想这可能是一个更深层次的问题,因为函数是在R本身中编译的。 -
你必须先识别环境编码。然后,您可以使用代码来介绍您想要的角色。请记住,这些字符的编码可能是多字节的。例如,“ź”字符可以用 utf-8 写成
"\xe0\x85\xba"(Unicode 字符 U+017A 编码为 utf-8)。
标签: c++ string diacritics