开篇从一个比较简单但是也比较蛋疼的问题开始吧。

背景介绍:我是新手小白,初学java。

问题介绍:在使用UTF-8编码格式写java文件时,编译出现问题。

原因分析:1、java文件的编码格式是UTF-8,windows7系统(默认编码格式为GBK)上的jdk看不懂了,所以报错了;

      2、第一行原本应该是public class的p位置竟然变成了两个奇葩的汉字,导致无法解析。

解决方法

关于第一个问题:在windows7系统下,新建一个系统变量(计算机图标上右键——属性——左侧“高级系统设置”——“高级”环境变量——系统变量——新建),变量名为JAVA_TOOL_OPTIONS,变量值为-Dfile.encoding=UTF-8。这样在每次执行java类的工具时,会临时地设置编码格式为UTF-8(不过相应的报错信息你也会看不懂咧~~,所以这个办法最好在确认除了编码问题外没有其他问题时用哦)。

关于第二个问题:这两个奇葩汉字事实上是由于windows记事本(好吧,我再也不用这个写java了。。)的默认编码格式是ANSI,转成UTF-8时其实并不是纯粹的UTF-8,而是“UTF-8+BOM”的格式。没错,这个BOM就是报错的原因。推荐的解决方法是使用Eclipse等IDE类工具或者是EditPlus等文字编辑器(简单说下EditPlus这个,在工具——配置(用户)自定义工具——左侧点击文件选项,右侧可以设置文本的默认格式,选择UTF-8就可以了)。

解决java文件编码和windows7系统(中文版)默认编码冲突所导致的乱码情况的更多相关文章

  1. 使用cmd打开java文件,报错:“错误,编码GBK的不可映射字符”

    今天使用EditPlus写了一个小程序,用cmd运行时报错--"错误,编码GBK的不可映射字符". 处理办法是用EditPlus另存为时,把编码格式由UTF-8改为ANSI. 然后 ...

  2. 如何解决java文件上面有错,但是文件夹上面不显示的错误

    查了网上很多办法,都是解决不了的,不是我说什么,有些人真的人云亦云,没解决的瞎**乱转发 解决方法是:换个工作空间(workplace)即可,不行你打我

  3. Java获取Linux和Window系统CPU、内存和磁盘总使用率的情况

    这是一个工具类,获取的内容: CPU使用率:得到的是当前CPU的使用情况,这是算出的是两次500毫秒时间差的CPU使用率 内存使用率:[1 -  剩余的物理内存/(总的物理内存+虚拟内存) ] * 1 ...

  4. GBK 文件在 sublime 保存时被强制保存为 utf-8 导致中文乱码, 恢复。

    原来在 CoverteToUTF8 的 README.zh_CN.md 文件里就有解决方法,如下: * 问:我的文件被保存为 UTF-8,而且变成了乱码,要如何恢复? 答:请打开这个文件,并确认它的编 ...

  5. Java IO_003.Reader与Writer--字符流以及编码对数据的操作(读取与写入)

    Java IO之Reader与Writer对象常用操作(包含了编码问题的处理) 涉及到文件(非文件夹)内容的操作,如果是纯文本的情况下,除了要用到File(见之前文章),另外就必须用到字符输入流或字符 ...

  6. myeclipse下java文件乱码问题解决

    中文乱码是因为编码格式不一致导致的.1.进入Eclipse,导入一个项目工程,如果项目文件的编码与你的工具编码不一致,将会造成乱码.2.如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文 ...

  7. Apache以及PHP的默认编码问题解决(详解)

    如果你在网上搜索 “apache配置”,搜到的页面大多都会建议你在httpd.conf中加上这么一句:AddDefaultCharset GB2312.对于新手而且是只用GB2312编码的开发人来说, ...

  8. linux 关于Apache默认编码错误 导致网站乱码的解决方案

    Apache默认编码UTF-8在解析A网站的时候没有任何问题,当运行B网站时出现的"蝌蚪文"乱码问题   最近经常有同学在使用LAMP/WAMP时,遇到这样的编码错误问题: A网站 ...

  9. 转载--改变ubuntu默认编码为GBK

    在Ubuntu支持中文后(方法见上篇文章),默认是UTF-8编码,而Windows中文版默认是GBK编码.为了一致性,通常要把Ubuntu的默认编码改为GBK.当然你也可以不改,但这会导致我们在两个系 ...

随机推荐

  1. java.nio.ByteBuffer中flip,rewind,clear方法的区别

    对缓冲区的读写操作首先要知道缓冲区的下限.上限和当前位置.下面这些变量的值对Buffer类中的某些操作有着至关重要的作用: limit:所有对Buffer读写操作都会以limit变量的值作为上限. p ...

  2. IOS常见异常捕获

    前言:在开发APP时,我们通常都会需要捕获异常,防止应用程序突然的崩溃,防止给予用户不友好的体验.其实Objective-C的异常处理方法和JAVA的雷同,懂JAVA的朋友一看就懂.我为什么要写这篇博 ...

  3. 第五篇T语言实例开发,百变字符(版本5.0)

    自动生成字符编码 字符的编码 参见下面链接 http://blog.jobbole.com/74109/ http://baike.baidu.com/link?url=QN7HMY2fJTIUfIT ...

  4. odoo server命令行以及配置文件

    odoo server 启动时 def main(args): check_root_user() odoo.tools.config.parse_config(args) check_postgre ...

  5. HDU 1016Prime Ring Problem

    http://acm.hdu.edu.cn/showproblem.php?pid=1016 题意:输入一个数,给出符合要求的素数环. 经典的dfs遍历. #include<iostream&g ...

  6. 2017年1月4日-linux学习

    老男孩Linux运维实战培训 1.EmEditor文本编辑工具,我用Notepad++也很好用 2.win32文本比较工具使用技巧,我用svn也很好用 3.安装vmware软件及新建配置虚拟机视频,已 ...

  7. Python 类与作用域——一些测试

    /* 一 */ >>> class T (): a = 0 b = a >>> T.b 0 >>> del T /* 二 */ >>& ...

  8. visual studio 的Error List 显示乱码

    复制到右键菜单如下: Severity Code Description Project File LineError 閿欒: 绋嬪簭鍖卌om.baidu.lbsapi.auth涓嶅瓨鍦? com. ...

  9. 山东省滕州市木石镇化石沟村QQ群116528924

    山东省滕州市木石镇化石沟村QQ群116528924

  10. 采用sqlserver的缺省配置,在生产环境经常碰到系统响应慢(甚至hung的情况)

    请重视并正确配置sqlserver实例及数据库的参数,一般化的配置推荐如下: 1.数据和日志文件的初始大小分别设置为10G和2G,均设置为按照固定200M大小增长,不限制最大值: 2.sever实例设 ...