文档章节

JAVA中中文乱码问题

Bug-Killer
 Bug-Killer
发布于 2016/04/18 22:13
字数 385
阅读 81
收藏 6

一,

    Java源文件中很可能包含中文,而Java和JSP源文件保存的方式是基于字节流的。如果Java或JSP编译成class文件过程中,使用的编码方式和源码方式不一致,则会出现乱码。在HTML页面中,由于页面编码和浏览器的编码方式不同,也会出现乱码。

    1,结果HTML中中文乱码问题

    在每个HTML页面中的<head></head>标签中增加

<head>
    <META http-equiv=Content-Type content="text/html;charset=utf-8">
</head>

    2,解决jsp中中文乱码问题

    pageEncoding是jsp文件本身的编码,contextType的charset是服务器传送给客户端的内容编码

<%@ page language="java" contextType="text/html" charset="utf-8" pageEncoding="utf-8"%>

    3,解决页面数据传输乱码问题

    采用编码过滤器来解决,设置一个过滤器,把所有的编码都统一

<!--定义编码过滤器-->
<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacerEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>utf-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

       4,HTTP(post)中出现乱码

        在servlet页面中添加

response.setCharacterEncoding("utf-8") ;

    5,HTTP(get)中出现乱码

    如果是get,需要获取请求的字符串,将字符串进行转换,同时需要知道源码

//获取请求的字符串
String str = resquest.getParameter("param") ;
str = new String(str.getBytes("ISO-8859-1"),"UTF-8") ;

    6,MySql数据库中中文问题

    解决MySql数据库中的中文问题,主要在JDBC的驱动url中添加

jdbc:mysql://localhost:3306/test?user=root&password=123&useUnicode=true&characterEncoding=UTF-8


© 著作权归作者所有

上一篇: Hibernate
Bug-Killer
粉丝 5
博文 76
码字总数 49654
作品 0
海淀
程序员
私信 提问
Tomcat中文乱码问题的原理和解决方法

Tomcat中文乱码问题的原理和解决方法   自从接触Java和JSP以来,就不断与Java的中文乱码问题打交道,现在终于得到了彻底的解决,现将我们的解决心得与大家共享。   一、Java中文问题的由...

孙斐
2013/02/26
253
0
解决Eclipse中.properties文件中文乱码问题

在.properties文件写注释时,发现中文乱码了,由于之前在idea中有见设置.properties文件的编码类型,便找了找乱码原因 在中文操作系统中,Eclipse中的Java类型文件的编码的默认设置是GBK,但...

yzbty23
03/18
28
0
0021-使用JDBC向Kudu表插入中文字符-cast的秘密

1.问题描述 使用Impala JDBC向Kudu表中插入中文字符,插入的中文字符串乱码,中文字符串被截断。 继之前文档使用sql拼接方式插入中文字符串乱码解决方法后,此文档描述使用jdbc的PreparedSta...

Hadoop实操
2018/11/19
45
0
MenuItem 显示中文乱码问题解决方案

MenuItem 显示中文乱码问题解决方案 今天在使用Java做系统托盘图标(TrayIcon),需要为其增加一个右键弹出菜单(PopupMenu),在使用菜单项(MenuItem)时,遇到了一个非常痛苦的事情:中文乱码~...

Java编程思想
2013/10/17
518
0
java对sqlite进行插入操作的乱码问题

用java连接sqlite数据库之后,将sql语句转码utf-8之后使用statement.executeUpdate()插入中文是乱码,转码后读取出来也是乱码。但是如果从命令行插入中文条目,在程序中进行转码后可正常显...

夜星寒
2013/06/28
2.6K
2

没有更多内容

加载失败,请刷新页面

加载更多

[转] Java 无界阻塞队列 DelayQueue 入门实战

原文出处:http://cmsblogs.com/ 『chenssy』 DelayQueue是一个支持延时获取元素的无界阻塞队列。里面的元素全部都是“可延期”的元素,列头的元素是最先“到期”的元素,如果队列里面没有元...

泥瓦匠BYSocket
14分钟前
4
0
zk中集群版中角色和消息类型

服务器角色 LEADER LEARNER FOLLOWING OBSERVER 消息类型 数据同步 服务器初始化 请求处理型 会话管理型 LEADER 集群工作核心,作用有: 1事务请求唯一调度和处理者,保证事务处理顺序性 2集...

writeademo
16分钟前
3
0
阿里云推送的基本使用-Swift;iOS10+

func initCloudPush(){ CloudPushSDK.asyncInit("*****", appSecret: "*******") { (result) in if result!.success{ print("deviceId===......

west_zll
27分钟前
3
0
分布式及高可用元数据采集原理

转载本文需注明出处:微信公众号EAWorld,违者必究。 引言: 元数据采集是元数据产品的核心部分,如何提升采集效率是需要仔细斟酌的事情,既要保持稳定性也要保持跟上主流技术的发展趋势。元...

EAWorld
43分钟前
4
0
为构建社交关系链手淘都做了啥?

作者|王卫(泓冰) 出品|阿里巴巴新零售淘系技术部 01、淘宝社交关系推荐的背景 1、互联网下半场到来:互联网的下半场,人口红利消失,各大平台需要对用户做精细化运营,用户的增长和留存是每一...

阿里云官方博客
44分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部