• eclipse+tomcat,控制台中文乱码


    1.首先,检查JSP页面声明的编码是否正确,正确示例(注意标红的地方):

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Insert title here</title>
        </head>
        <body>
        
        </body>
    </html>

    2.在确认步骤一没有问题后,接下来检查项目属性编码、 JSP 页面属性的编码和 Java 文件的属性编码,项目属性编码和文件属性编码也需要统一设置为 UTF-8 

    3.检查 Tomcat 的编码,需要把 Tomcat 的编码也设置为 UTF-8,找到 Tomcat 安装目录下的 conf 目录下的 server.xml 文件,如果没有修改过 Tomcat 的端口,则直接搜索8080 ,找到对应的 Connector 标签加上 URIEncoding 属性,值为 UTF-8。Tomcat8以及later基本不用改,默认为utf-8.

    4.是否因为远程服务器发送过来的字符流是传输内容的UTF-8编码,而客户端获得字符流后,以JVM默认的编码重新解析为字符串,因服务器-客户机编码不一致,而导致了乱码问题。

    Java虚拟机中字符串编码默认跟随操作系统,中文版的Windows系统编码为GBK,Linux系统为UTF8,如果需要手动设定编码,可以在JVM启动时添加以下参数:

    -Dfile.encoding=UTF-8

    新问题:添加以上参数后,java程序输出到标准输出(也就是常见的控制台)时,日志编码也会是utf8,但MyEclipse的Console、Windows的cmd窗口,并不知道应该以UTF8编码来解析jvm输出的字符,所以会出来乱码问题。为了让JVM输出编码与控制台接收端保持一致,需要手动设置控制台接收编码。

    eclipse中右击当前文件,run as---->run configuration------>common----->Encoding

    或者如下图所示,点击绿色旁边向下的三角,run configuration

    5.是否因为eclipse 工作空间编码格式

    【Window】→【Preferences】→【General】→【Workspace】

  • 相关阅读:
    Verilog杂谈
    Hadoop家族学习路线图
    R语言中apply函数
    R语言数组array函数
    R语言列表list函数
    R语言多元素向量
    R语言提取字符串的一部分substring函数
    R语言改变大小写 toupper()和 tolower()函数
    R语言统计字符串的字符数ncahr函数
    R语言格式化数字和字符串format函数
  • 原文地址:https://www.cnblogs.com/MeiT/p/10541404.html
Copyright © 2020-2023  润新知