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"%>
  • 相关阅读:
    C# 实现 Snowflake算法生成唯一性Id
    kafka可视化客户端工具(Kafka Tool)的基本使用(转)
    docker 安装kafka
    Model类代码生成器
    使用docker 部署rabbitmq 镜像
    Vue 增删改查 demo
    git 提交代码到库
    Android ble蓝牙问题
    mac 配置 ssh 到git (Could not resolve hostname github.com, Failed to connect to github.com port 443 Operation timed out)
    okhttp
  • 原文地址:https://www.cnblogs.com/lvoooop/p/10613249.html
Copyright © 2011-2022 走看看