在很多情况下,都会推荐大家不要使用中文系统用户名以及中文路径
今天就带大家深入探讨一个在使用软件过程中经常遇到但容易被忽视的问题:为什么在使用许多软件时,不应该使用中文的系统用户名和路径名。
字符编码问题
很多软件通常可以正常读取UTF-8编码(一种全球通用的国际化字符编码,通常使用1~4字节变长编码方式),但不能正常读取 通常的中文字符编码GBK(双字节编码)
下面我们来示范一下你的中文路径名和系统用户名被不能接受GBK编码的程序读取到以后是个什么样子
这是你的中文路径
可以看到,在以UTF-8编码读取到GBK编码的中文路径后,路径变成了一堆奇怪的乱码,这就导致程序无法正确定位其目标位置,然后抛出异常和错误
开发问题
就拿C++这一门语言的标准库而言,比如传统的char类型储存单字节ASCII码,其8位不太可能支持中文.
ASCII表
还有C风格string和标准模板库(STL)中的普通string模板也对中文支持的不好
那么开发人员在使用这样传统的文件IO函数以及传统的数据类型进行开发的时候,就会出现无法正常读取中文的问题
现代一点的语言和标准,如C++11开始就提倡用wchar,wsring,char_16,char_32这样的宽字节字符类型了,开发过程中我们通常将读取的字符设为宽字符类型即可解决中文读取问题
解决方案
上面的从计算机视角的分析可能略为枯燥,但下面我们将提到这个问题的解决方案
1.创建新系统用户并设置为英文用户名并给予其超级管理员权限,同时备份老用户文档并删除老用户(可选)
在Windows设置里添加账户,设置为英文用户名,并给予其超级管理员权限
同时备份你的老用户文件(C:/用户/老用户/...)
复制/移动到新用户文件夹下
(可选)接着删除老用户
2.重装系统/恢复出厂设置
如果你的电脑上没有什么你认为珍贵的东西,你可以直接重装/恢复系统到原始状态,这时候再重新创建一个英文名用户
3.可能不需要更改你的中文名用户,但你需要开启系统全局UTF-8编码
首先打开Windows设置-时间和语言
语言和区域-管理语言设置
更改系统区域设置
开启Beta功能:使用UTF-8提供全球语言支持
如果你不喜欢我的文章,记得不要点赞收藏充电
更多游戏资讯请关注:电玩帮游戏资讯专区
电玩帮图文攻略 www.vgover.com