我有一个返回字符串的函数。 我必须在函数本身中使用希腊字符定义该字符串,并且应该返回该字符串。 我在Linux平台上工作,我的代码是用C ++编写的。
我的功能如下:
string gen_string()
{
string str = "αγρω";
return str;
}
但我无法提供意见。 当我尝试复制粘贴我想要的希腊字符时,它会显示为一些垃圾字符。
有人可以帮我这个吗?
提前致谢。
修改: 感谢您的回复。
它不是关于使用wstring或string。 当我将字符串复制到vim以将其作为输入时,它显示为类似的东西。
▒〜^▒〜T▒〜A▒〜A201604¸▒〜B▒žMDF_F▒〜S123▒〜T▒〜B▒▒〜B▒
我还尝试将文本保留在文件中并从vim打开文本文件。 但它仍然是一样的。
答案 0 :(得分:0)
string
仅适用于ASCII字符,我相信。
您拥有国际化的Unicode字符。考虑将std::wstring
用于多字节"宽"字符串。
答案 1 :(得分:0)
如果您的意思是从某些文本复制到终端输入,那么如何执行此操作取决于终端。如果它是一个gnome终端,你需要在语言环境设置中指定UTF-8,虽然我不确定这是否能得到希腊字母。
locale命令将列出locale.conf中的当前语言环境设置。您可能想要更改LANG设置。系统范围内的一种方法是
localectl set-locale LANG = en_country_code.UTF-8
更改country_code。它是美国的美国,但我不知道希腊代码是什么。你可能需要成为root用户。只为自己修改
〜/的.config / locale.conf (或$ XDG_CONFIG_HOME / locale.conf或$ HOME / .config / locale.conf)。
无论哪个访问locale.conf文件。在大多数系统中,所有系统都这样做。