linux – 无法将UTF-16设置为区域设置
发布时间:2020-12-14 01:05:45 所属栏目:Linux 来源:网络整理
导读:我无法在我的 Linux机器上将UTF-16或其任何形式设置为区域设置.这个示例代码: #include iostream#include string.h#include locale.husing namespace std;int main(){ char *ret = std::setlocale(LC_ALL,"en_US.utf16"); if (ret) { cout ret endl; } retu
我无法在我的
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! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- cmake set_target_properties INCLUDE_DIRECTORIES在linux上
- linux – 可以改变tty提高编译速度吗?
- python – 如何在Linux下检测何时插入闪存驱动器?
- linux – 为什么rpc.lockd会从netstat / lsof输出中隐藏?
- linux – :1:1:错误:宏名必须是标识符
- 备份 – 通过smb加速rsync
- LINUX教程:php结合web uploader插件实现分片上传文件
- 在linux中哪些寄存器不受用户空间的影响?
- linux – 如何配置iptables,以便不会将不需要的端口报告为已
- 缓存中有内存的Linux内核模块OOM