"??"乱码:
这种情况一般是用不支持中文的编码去编码中文字符,例如ISO-8859-1 仅能编码非英文字符,所以非英文字符被其编码时会被转换为 0x3F(即?的 ASCII 编码),这时
编码已经真被转成不可逆的乱码了。之后无论用兼容 ASCII 的哪种编码方案解码还原出的字符串都是"?"。
对于支持 UNICODE的应用程序,Windows 会默认使用 Unicode编码。对于不支持Unicode的应用程序Windows 会采用 ANSI编码 (也就是各个国家自己制定的标准编码方式,如对于西欧文字有ISO/IEC 8859编码,对于简体中文有GB 18030编码,对于繁体中文有BIG-5等),Windows 对于不支持Unicode的程序默认只能使用一种ANSI编码(实际上Windows所做的是通过所选择的默认代码页(Code Page), 将 ANSI编码翻译成Unicode)。英文版的系统应该是默认使用的是ISO/IEC 8859编码,所以当运行采用GB 18030编码的中文软件时会出现乱码。
想要更改默认使用的编码方式,可尝试以下步骤,
打开 控制面板(Control Panel)
打开 时钟、语言和区域 (Clock, Language and Region)
点击 区域 (Region)
选择 格式(Format) 选项卡,并将格式 改为 Chinese (Simplified, China) (这个其实可以不改,看你的喜好,更改此处会更改时间显示方式如 把日期 改为 YYYY/MM/DD 等,有些程序会通过此项来选择所显示的语言。重点的从第五步开始)
然后 点击打开 管理(Administrative) 选项卡
点击 更改系统区域设置 (Change system locale...) 按钮 (若出现用户账户控制对话框,请选择“允许”或“是”或者“确定”)
将区域设定 改为 Chinese (Simplified, China) 然后 点击确定,并重新启动计算机。
另外对于你说的txt文件。Windows 自带的记事本(Notepad.exe)会默认采用 ANSI 编码来处理文本文件,这也是由于大部分的文本文件都是用的各国自己的编码标准写成的。这个ANSI 编码的具体编码方式,也会因上面所讲述的设置变化而有所改变。若想要摆脱不同的 ANSI 编码所产生的困扰(如在中文的系统上写的TXT文档要在日文的系统上打开经常会出现乱码),可以在保存文本文件时 选择采用 UTF-8 (单字节8位的Unicode编码)。
另外,通过 Web浏览器(如 Internet Explorer)打开文本文档时,可以给你机会(如在页面上单击鼠标右键)选择你认为应该选择的编码方式。如下图,
1、首先我们打开电脑桌面,在电脑桌面,点击左下角“开始”图标目录下的“控制面板”选项。
2、选择“类别”方式查看,点击“时钟、语言和区域”。
3、d出如图所示界面,点击“区域和语言”。
4、d出如图对话框,点击“管理”→“更改系统区域设置”。
5、然后将“当前系统区域设置”修改为“英国”→“确定”。
6、重启,然后找到第五步“当前系统区域设置”位置,修改为“中文”,再重启电脑即可解决问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)