JAVA生僻字乱码问题
new String(restgetString("param")getBytes("ISO8859-1"), "utf-8");
一般乱码问题用这个都足以解决,建议楼主试下
首先,确保Linux下的文件(比如日志)在Windows下打开没有乱码,显示正常就表明linux的字符集设置没有问题,不用去修改;
其次,修改SecureCRT中的Session Options参数配置,如图中的红框:
如果还是乱码,再配置下图的红框部分:
二 vi文件时出现中文乱码
此种情况需要设置一下linux上的字符集,export LANG=zh_CNUTF8
好了,就这么多,乱码不再。
1设置Encoding。在appender中增加一行<Encoding>UTF-8</Encoding>,但是在启动中报错,说是不能识别Encoding元素。有人说Encoding在0922以后版本中已经不能用了。看来此方案在我使用的logback 版本中并不能解决问题
2设置charset, 在encoder 中增加一行 <charset>UTF-8</charset>,重新启动系统,日志中中文显示正常了。 下面是我的一个简要的logbackxml 配置。
<xml version="10" encoding="UTF-8">
<configuration>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="c:/log"/>
<!-- 控制台输出 -->
<appender name="STDOUT" class="chqoslogbackcoreConsoleAppender">
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ssSSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset>
我觉得应该是在应用程序就乱码了,你应该检查下java程序那边。
tomcat默认的字符集是ISO-8859-1,你这里可能是在tomcat里面就乱码了。
要是怀疑是系统问题,可以先把tomcat部署到中文windows系统上试试,很容易就排除了。
0条评论