zoukankan      html  css  js  c++  java
  • 乱码问题-学习使人快乐3

    java乱码问题处理

    转自https://www.cnblogs.com/angusbao/p/7488302.html

      Java编解码的原理总结为通过java内置的类对象进行char[]byte[]数组的转换。

    java乱码出现的问题有很多,这里主要解释tomcat,jsp,html,http(get,post请求乱码处理)。常见的问题可能是tomcat,http请求乱码问题,对于jsp,html是很小儿科的,希望对需要的人有用。

        1、关于配置Tomcat的URIEncoding

          问题:程序需要发送http GET请求到服务器,请求的参数中包含了中文字符。程序中参数为UTF-8格式,且经过了UTF-8 URL编码再发送。使用的tomcat服务器,但服务器端后台程序中取到的参数的中文是乱码。

          解决方法:修改Tomcat的Server.xml,在Connector标签中加上URLEncoding参数。

          内容:

    1
    2
    3
    4
    <Connector port="8080" maxThreads="150" minSpareThreads="25"
    maxSpareThreads="75" enableLookups="false" redirectPort="8443"
    acceptCount="100" debug="99" connectionTimeout="20000"
    disableUploadTimeout="true" URIEncoding="UTF-8"/>

        2、http请求乱码问题。

          post请求出现乱码:

          解决方法:在servlet页面添加

    response.setCharacterEncoding("utf-8")

          get请求出现乱码:

          解决方法:在后台获取字符串后对编码进行转化,如常见的编码ISO-8859-1,代码如下

    1
    2
    String name = request.getParameter("name");
    name=new String(name.getBytes("ISO-8859-1","utf-8"))          

        3、Html中文乱码。

          问题:htmll出现乱码的主要原因是html源代码内中文字内容与html编码不同造成。网页的编码是gbk,而中文的是utf-8;

          解决方法:在页面顶部<head>......</head>中加上以下代码

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

       4、jsp页面出现乱码。

          问题:开发人员开发jsp应该拥有良好的编码意识,jsp顶部应该首先明确编码是什么?

          解决方法:在页面顶部加上以下语句

    1
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
  • 相关阅读:
    Google recaptcha在webform中的使用
    User control's property loses value after a postback
    share memory cache across multi web application
    Losing session data in ASP.NET
    What is the difference between UserControl, WebControl, RenderedControl and CompositeControl?
    maven跳过单元测试-maven.test.skip和skipTests的区别
    @RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别
    SpringBoot-@PathVariable
    pick王菊?作为“菊外人”的程序员能做点什么?
    数据库CRUD操作
  • 原文地址:https://www.cnblogs.com/lvoooop/p/10613249.html
Copyright © 2011-2022 走看看