为什么MyEclipse的Consolephp输出中文乱码为乱码

今天看啥 热点:
Mac下Myeclipse中console Tomcat乱码问题,myeclipsetomcat
解决方案:&window -& Preference -& myeclipse -& servers -& tomcat -& tomcat7.0 -& JDK -& optional java VM arguments :加入 -Dfile.encoding=GBK
相关搜索:
相关阅读:
相关频道:
&&&&&&&&&&&&
系统综合最近更新Intellij Idea12 中文乱码有关问题总结_MyEclipse里编者的项目名的红叉,Java compiler level does not match the version of the instal_xstream将xml转换为javabean的有关问题__脚本百事通
稍等,加载中……
^_^请注意,有可能下面的2篇文章才是您想要的内容:
Intellij Idea12 中文乱码有关问题总结
MyEclipse里编者的项目名的红叉,Java compiler level does not match the version of the instal
xstream将xml转换为javabean的有关问题
Intellij Idea12 中文乱码有关问题总结
Intellij Idea12 中文乱码问题总结
又是一个伤心,将Spring3 Mvc+Hibernate4集成起来搞搞,没想到在Controller这层给拖了1天多,其中Spring MVC乱码问题,表单乱码问题,全都搜索了N次,看了N次,试了N次,竟然都没效果,花的时间就在这些查找跟看跟偿试中度过,最后这问题终于在不小心的偿试下给解决了,在此记录下给那些遇到困难的程序员少花点时间,多点时间给自己娱乐放松下。
实验环境:Intellij Idea 12.1.13+Tomcat6.024+spring3.2 mvc+hibernate4 +maven3+win8系统 64位英文版
项目编码统一使用UTF-8
问题描述:在Controller中直接使用System.out.println("中文"),输出来的竟然是 "??" ,然而这问题,在main函数中直接打印输出不会有问题,反而在Tomcat集成测试时才会出现。如下面的代码:
@RequestMapping("test")
public String test(){
System.out.println("中文");
return "index";
问题分析:
1.中间都没参与Form表单的收集数据这些,所以问题也不会发生在这里;
2.Spring 过滤器也不会出现这问题,因为我在web.xml已经给配置了下面这段:
&filter-name&characterEncodingFilter&/filter-name&
&filter-class&org.springframework.web.filter.CharacterEncodingFilter&/filter-class&
&init-param&
&param-name&encoding&/param-name&
&param-value&UTF-8&/param-value&
&/init-param&
&init-param&
&param-name&forceEncoding&/param-name&
&param-value&true&/param-value&
&/init-param&
&filter-mapping&
&filter-name&characterEncodingFilter&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
3. 既然都不是上述的原因,有可能是系统编码或者是Tomcat编码问题;
解决问题:
经过上述分析原因,可能出现问题的原因就是英文系统的编码或者是Tomcat启动JVM编码问题;下面给出小弟的解决方案:
将Tomcat内置在Intellij Idea 12.1.13编程工具中,具体如何将Tomcat内置进Intellij Idea 12.1.13中,请百度或者Google查找方法,在此就不一一介绍,在里面启动与发布及停止运行;
在上述的过程后就对Tomcat加以配置,如下图:
图片有时上传不成功或者看不到的就看文字描述:
在Intellij中点击Tomcat配置,看到VM options:选项,在输入框中输入:-Dfile.encoding=GBK ,就OK了。。
iteye的图片上传功能就不怎么样了,体验不好,希望改进下。。然后将项目打包,最后启动项目,结果成功输出中文。。。。
MyEclipse里编者的项目名的红叉,Java compiler level does not match the version of the instal
MyEclipse里编辑的项目名的红叉,Java compiler level does not match the version of the instal一般出现在从别处import的项目上,只有项目文件夹上有红叉,其他地方都正常,现总结个人的几个解决方案:
有几种可能:1,编码设置是否一致,也即是你项目原来的编码和现在eclipse用的默认编码是否一致2,导入项目中jar路径可能已经被改变,多数情况下都是这个原因造成,我也曾经遇见过,你要确保你的jar包路径都没问题。myeclipse有查看jar路径的视图你可切换看看,报红X的就都是路径被改动过的,重新加进来就OK。3,在problem控制台里有如下错误提示:Java compiler level does not match the version of the installed Java project facet。这种情况一般可以在项目上右键--&properties--&然后找到project facets和 Java Compiler两个选项,修改其使用的jdk版本即可。如果没有找到project facets选项,可以参考下面的方法:
当你安装了两个版本的JDK,用了两个IDE开发工具,比如两个myeclipse,Myeclipse8.5和Myeclipse9.0。 这时候涉及到了jdk版本的问题,而在Myeclipse中设置是比较隐藏的。 Eclipse下有个项目报如上错误,这个是因为Facted Project 中的Java 版本设定与项目的Java 版本设定不一致。而如果使用的是MyEclipse的话,这个配置修改起来就不是很方便,具体方法稍后再说。如果是eclipse jee版本,则使用javaee插件是wtp,在wtp环境在,在当前项目上点右键,属性--Project Facets中,配置编译版本与java compiler的版本一致,问题即解决了。 MyEclipse中没有Project Facets配置选项,则需要到当前项目的.settings文件夹下,找到org.mon.project.facet.core.xml文件,其内容如下:
&?xml version="1.0" encoding="UTF-8"?&
&faceted-project&
&fixed facet="wst.jsdt.web"/&
&installed facet="java" version="1.6"/&
&installed facet="jst.web" version="2.5"/&
&installed facet="wst.jsdt.web" version="1.0"/&
&/faceted-project&
其中&installed facet="java" version="1.6"/&这行就是faceted project的编译级别配置。&installed facet="jst.web" version="2.5"/&这行配置在某些情况下也需要修改,比如在MyEclipse中建了个web项目,后来又导入到eclipse jee,有时候就需要修改这个配置。 保存配置后,刷新并build项目后,问题解决。
xstream将xml转换为javabean的有关问题
xstream将xml转换为javabean的问题xml文件内容如下:&FDBK&&sfid&NMFL&/sfid&&ertn&3&/ertn&&nmers&&nmer&&efnm&错误文件名称1&/efnm&&errs&错误原因&/errs&&/nmer&&nmer&&efnm&错误文件名称2&/efnm&&errs&错误原因&/errs&&/nmer&&nmer&&efnm&错误文件名称3&/efnm&&errs&错误原因&/errs&&/nmer&&/nmers&&fcers&...&/fcers&&/FDBK&我定义了三个类分别如下public class FdmrVo {getter/setter方法省略private Lprivate Sprivate Sprivate Lprivate Sprivate List&FdnmVo&private List&FdctVo&private Sprivate L}public class FdnmVo extends Object{private Lprivate Sprivate Sprivate Sprivate L}public class FdctVo {private Lprivate Lprivate Sprivate Sprivate S}public ExtData&FdmrVo& importFdmr(File file,List&Filter& filters, Page page) throws Exception{String mrnm=file.getName();String xml=readFile(file);FdmrVo msg=(FdmrVo)ReportUtil.msg2Bean(xml, FdmrVo.class);msg=(FdmrVo)ReportUtil.msgToBean(xml, FdmrVo.class);msg.setMrnm(mrnm);ExtData&FdmrVo& data=doInsertFdmr(msg, filters);//(msg, filters,filters);}public static Object msg2Bean(String xml, Class clazz) {XStream xstream = new XStream(new DomDriver("GBK"));xstream.alias("FDBK", FdmrVo.class);xstream.alias("nmer", FdnmVo.class);xstream.addImplicitCollection(FdmrVo.class, "nmers");xstream.alias("fcer", FdctVo.class);xstream.addImplicitCollection(FdmrVo.class, "fcers");return xstream.fromXML(xml);}出现错误。com.thoughtworks.xstream.converters.ConversionException: Element nmer of type com.huateng.bussiness.fdmr.entity.FdnmVo is not defined as field in type java.lang.Object---- Debugging information ----class : com.huateng.bussiness.fdmr.entity.FdmrVorequired-type : java.lang.Objectpath : /FDBK/nmers/nmer-------------------------------请问该如何解决啊!!!或者有什么更好的方法能解决这个转化问题呢------解决方案--------------------
上面给work1,work2赋值时没注意,写错了,下面改正:Java code
Person[] myPersons = new Person[2];
List&Work& list = new ArrayList&Work&();
Work work1 = new Work();
work1.setCompany("GOogle");
work1.setWorkAge(10);
Work work2 = new Work();
work2.setCompany("Apple");
work2.setWorkAge(1);
list.add(work1);
list.add(work2);
如果您想提高自己的技术水平,欢迎加入本站官方1号QQ群:&&,&&2号QQ群:,在群里结识技术精英和交流技术^_^
本站联系邮箱:Myeclipse 控制台 乱码 - 学海拾贝 - ITeye技术网站
博客分类:
今天同事叫我处理Myeclipse控制台的打印信息中文乱码的问题,想一下,其实这个问题冲开始用Myeclipse时,就碰到这个问题的了,只是一直都没有认真地想过怎样解决,人就是这样,不到最后关头,都愿意动一下的,坏习惯。
关于这个问题,可以分析一下,中文乱码往往是由于编码不一致导致的,jboss的日志文件用EditPlus打开,是没有乱码的,只是在Myeclipse中的控制台显示为中文乱码,这样可以判断出,就是jboss日志文件的编码与Myeclipse中的控制台的 编码不一致了。
查看Myeclipse控制台编码:
实践过后,觉得每个应用服务器对应的Myeclipse的控制台应该是不同的。
window--&preferences
这里可以查看到jboss的日志在Myeclipse控制台显示时的编码。
解决方法有两个:
1、将上面第二张图的编码选择utf-8(我们都是用utf-8的)
这种方法治标不治本,很麻烦,因为每次启动时,都需要设置,关闭服务器后,这里又恢复了gbk了,找不到怎样永久地将他设为utf-8.
第二种方法:
这个方法是突然想起的,既然改不了Myeclipse的,那就改jboss呗,就这样,被我找出来了。
修改JBOSSHOME/server/default/conf/的jboss-log4j.xml
&appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"&
&errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/&
&param name="Target" value="System.out"/&
&param name="Threshold" value="INFO"/&
&param name="Encoding" value="UTF-8"/&
在CONSOLE这个appender中(我的文件是第71行),将UTF-8改为GBK即可。
到此为止,问题得到解决。朦胧中觉得,Myeclipse启动jboss,貌似不调用jboss本身的run.bat、run.conf文件。
浏览 11320
浏览: 287893 次
来自: 广州
gszp852 写道请问下,服务器的字符编码在哪设置,我也遇到 ...
有在osgi中用过吗?
谢谢,终于找到问题结果!
请问下,服务器的字符编码在哪设置,我也遇到了这个问题。不知道是 ...
So Strange !为什么MyEclipse的Console输出中文为乱码_百度知道
为什么MyEclipse的Console输出中文为乱码
我有更好的答案
///link?url=d5aIawuDak8zag6x8WwjEdvRrXvnvk2jKVCt3KnNvf-PIlvZN2caz7MR4Cq0g2XpQxfVYW7L49B9WJBljnwG8ryX_QX8L8B6MHh_f5zixj7.baidu你好,这个大部分原因都是因为你的编码格式不对:
为您推荐:
myeclipse的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 console.log 中文乱码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信