A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© getone 中级黑马   /  2014-9-28 21:09  /  1231 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

之前在学习char类型变量时出现一个问题,如果char ch = "中";,编译失败了。按理说char类型是两个字符长度,正好是一个中文的长度,是正确的,但是出错了,出错信息是乱码。之后发现是因为我的文档默认设置成utf8编码格式,而utf8是占3个字符,发现之后我就把文档暂时转换成ansi,编译成功了。
但是后面新建了一个文件,还是默认utf8的,我以为没有char语句就没有问题,但是在注释中加入中文之后,编译失败了,还是乱码,乱码的行数竟然是有中文注释的那一行,明明只是注释,却还是乱码!当我把文件转成ANSI之后,再编译没有问题。
我知道这是DOS的问题了,在网上查了一些,步骤比较繁琐,且还是没有解决问题,希望大能们能帮忙,谢谢!

评分

参与人数 1技术分 +1 收起 理由
付江涛 + 1 神马都是浮云

查看全部评分

2 个回复

倒序浏览
是不是你在文件读取的时候出现的问题呢?  不知道是不是你编辑软件的问题,默认保存的是utf-8编码的文件. 如果按你说的是编码的问题,我们是不是可以通过转换流对其进行编码的声明呢?

BufferedReader buf =new BufferedReader(new InputStreamReader(new InputStream(/*文件名*/),"UTF-8"));

这样的话打印到控制台上应该就不会出现乱码了.
回复 使用道具 举报
getone 来自手机 中级黑马 2014-9-30 14:49:44
藤椅
ζ_____________ 发表于 2014-9-28 21:41
是不是你在文件读取的时候出现的问题呢?  不知道是不是你编辑软件的问题,默认保存的是utf-8编码的文件. 如 ...

谢谢,已经解决了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马