linux – 无法将UTF-16设置为区域设置
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – 无法将UTF-16设置为区域设置,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含885字,纯文字阅读大概需要2分钟。
内容图文
![linux – 无法将UTF-16设置为区域设置](/upload/InfoBanner/zyjiaocheng/971/8a654d9d6a564f04a4f8e7d35ef75f5a.jpg)
我无法在我的Linux机器上将UTF-16或其任何形式设置为区域设置.这个示例代码:
#include <iostream>
#include <string.h>
#include <locale.h>
using namespace std;
int main()
{
char *ret = std::setlocale(LC_ALL, "en_US.utf16");
if (ret) {
cout << ret << endl;
}
return 0;
}
输出不会打印语言环境集,这意味着未设置所需的语言环境.
该框中支持的区域设置列表不包括任何形式的UTF-16编码.我通过locale -a检查了这个
$uname -a
Linux developer.com 2.6.32-279.1.1.el6.x86_64 #1 SMP Tue Jul 10 11:24:23 CDT 2012 x86_64 x86_64 x86_64 GNU/Linux
是否需要安装某些东西才能在盒子上使用UTF-16?
解决方法:
您将无法在Linux中将UTF-16设置为区域设置,因为UTF-16不兼容ASCII. C字符串是Null终止的,因为UTF-16可以包含嵌入的nul字符,这些字符不起作用.你需要坚持使用UTF-8.
如果要生成比系统当前具有的更多语言环境,请查看/etc/locale.gen,编辑此文件,然后运行(以root用户身份)命令locale-gen以生成新插入的语言环境.但要注意:即使在这里你也无法生成UTF-16!
内容总结
以上是互联网集市为您收集整理的linux – 无法将UTF-16设置为区域设置全部内容,希望文章能够帮你解决linux – 无法将UTF-16设置为区域设置所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。