java post解决中文_Java解决各种中文乱码问题(1)get和post请求

作为java程序员,中文的乱码问题会经常碰到。过去的一个项目,我碰到了各种类型的java乱码问题。先分享给大家:

1:网页Post请求,提交后,显示提交结果,乱码。

首先确定数据库的编码方式。这里我发现,如果数据库的编码不是UTF-8,Post请求也可以保证回显正确,但是有一个地方要注意。

如html中:

(1)

这时,value中的num中文会正常显示。

(2)"/>

这时,value中的Num中文不会显示,显示乱码。

这是因为jstl标签库的原因。

虽然(1)代码可以显示中文,但仍然推荐数据库编码改成UTF-8

2:网页get请求,提交后,显示乱码。

这个问题就比较复杂了。

解决方法可以分为两步,(我们首先做了第一部,解决了大部分问题,第二步是解决特殊问题)。

我们难免使用get请求提交,如果其中有中文,那么:

(1)Tomcat中:

找到 server.xml 中的

enableLookups="false" redirectPort="8443" acceptCount="100"

connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK' />

以上方法是在网上找到的,我尝试了,起不到效果,但给了我们启发,我们如下做:

URIEncoding="UTF-8"

没想到成功了。我想这应该和我的操作系统的语言有关。我们是英文系统。

(2)这个是我为了解决一小部分(ajax和js动态生成的html)中提交中文问题,因为以上的方法都解决不了这个问题。我找到了如下类:

public class Escape {

private final static String[] hex = { "00", "01", "02", "03", "04", "05",

"06", "07", "08", "09", "0A", "0B", "0C", "0D", "0E", "0F", "10",

"11", "12", "13", "14", "15", "16", "17", "18", "19", "1A", "1B",

"1C", "1D", "1E", "1F", "20", "21", "22", "23", "24", "25", "26",

"27", "28", "29", "2A", "2B", "2C", "2D", "2E", "2F", "30", "31",

"32", "33", "34", "35", "36", "37", "38", "39", "3A", "3B", "3C",

"3D", "3E", "

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值