java web转码_javaweb后台转码

为什么需要转码?

客户端向服务器发送请求的四种情况:1、URL方式直接访问;2、页面链接(属于get请求);3、表单get提交;4、表单post提交

1.url(url和页面链接):各大浏览器、各个操作系统对URL的URI、QueryString编码都可能存在不同.tomcat对URI的解码操作是首先获取Connector的解码集,

该配置在server.xml中,  如果没有定义则会采用默认编码ISO-8859-1来解析。

2,表单:发送请求时都是根据设置的charset进行编码,解码时,get方式根据设置的URIEncoding进行,post方式仍根据页面设置的charset.

jetty默认是utf-8.jetty与tomcat不同,不是在xml配置文件中修改,可以在Jvm参数中加入:Dorg.mortbay.util.URI.charset=字符编码@参考文章

如何转码?

iso-8859-1转utf-8

String args=new String(request.getParameter("args".getBytes("ISO8859-1"),"utf-8");

读取文件有时乱码,指定编码格式:

String pathname = "D:/用户目录/我的文档/Tencent Files/1480756395/FileRecv/新建文本文档 (14).txt"; // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径

File filename = new File(pathname); // 要读取以上路径的input。txt文件

InputStreamReader reader = new InputStreamReader(

new FileInputStream(filename), "GB2312"); // 建立一个输入流对象reader

BufferedReader br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言

String line = "";

line = br.readLine();

// testEncode(line);

String line2="";

line2+=line;

while (line != null) {

line = br.readLine(); // 一次读入一行数据

line2+=line;

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值