Windows资源管理器SFTP传输文件乱码以及word回车换行符显示异常
错误表现:
在Windows下错误配置了语言和地区相关设置后,使用SFTP传输含中文字符的文件,文件夹,压缩包,包含的中文字符在Windows资源管理器中显示全部乱码,使用word打开文档时,中文显示正常,但回车换行符全部显示异常,变成黑色粗体两条竖线。
使用powershell或者cmd 输入chcp命令,显示当前代码页确实是936(GBK),远程FTP主机也为936(GBK),但是就是会乱码。
使用字符编码检查工具检查文件字符编码也为GBK,但Windows资源管理器显示仍然乱码。
记录2023年7月10日最终验证有效的解决方式:
检查上述用红框标出的设置选项,是否严格与图中一致(图中是正确的936GBK配置):
虽然这些选项都是简体汉字,但 中文(简体,中国) 和 中文(简体汉字,香港/澳门特别行政区) 的Windows内部默认显示编码是不一样的!!
根据实际测试来看:
中文(简体,中国)全局编码为GBK2312
中文(简体汉字,香港/澳门特别行政区) 仅仅只有powershell和cmd代码页为936(GBK),Windows默认显示编码、资源管理器、Windows应用显示语言均为UTF-8编码格式,使用FTP传输的过程中,也会将自己标识为支持UTF-8的状态,因此最终造成传输文件乱码。
至此 ,出现的错误完全解决,出错的原因也分析清楚。
最后记录一个题外话,如果因为一些特殊需要,需要在Windows语言设置为简体中文的同时,将设备的国家和地区改为香港或者其他地区,那么在首次安装系统时,应该先将国家和地区设置为中国(大陆),之后在进入系统之后,再次修改(仅仅修改地区),将地区修改为香港或其他你需要修改的地区。
write by tsukimi0125