文字化けしに関するいくつかのまとめ(ネットワークから抜粋)


1.           jsp       。Eclipse             。   jsp  ,       。
   。 UTF-8 iso8859-1, 。 。 , 。 iso8859-1 。 ,“ ” 。 。
  。 , 。 , 。 , 。 。
2. Post
。 tomcat iso8859-1 , post , , iso8859-1 , jsp utf-8 。 。 , , 。
A,
String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-
8") ; , 。 。 。
B, , , request.setCharacterEncoding("UTF-8"), UTF-8。 , 。   String str = request.getParameter("something"); 。 。 post , get enctype="multipart/form-data" 。 。
C, request.setCharacterEncoding("UTF-8"), jsp。

JSP 、 。

  1)JSP

   JSP page MIME ,
contentType="text/html;charset=gb2312" %>

  2)

   (post Get ), request.getParameter , tomcat

iso-8859-1, get post ,

   。

  (1)POST

   post ,

, , :

  Java

  CharacterEncodingFilter.java:

  public class CharacterEncodingFilter implements Filter

  {

  protected String encoding = null;

  public void init(FilterConfig filterConfig) throws ServletException

  {

  this.encoding = filterConfig.getInitParameter("encoding");

  }

  public void doFilter(ServletRequest request, ServletResponse response, FilterChain

chain) throws IOException, ServletException

  {

  request.setCharacterEncoding(encoding);

  response.setContentType("text/html;charset="+encoding);

  chain.doFilter(request, response);

  }

  }

  web.xml:

  

  CharacterEncodingFilter

  net.vschool.web.CharacterEncodingFilter

  

  encoding

  GBK

  


  


  

  CharacterEncodingFilter

  /*

  


   (2) Get

  tomcat post get , get ,



   \conf server.xml , 8080 Connector

, :URIEncoding="GBK"。 Connector

   :

  Java

  
  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

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

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

  
  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

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

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

  * tomcat 。

  /***********************************************************

*******************************************************/

  3, get 。

   get , , tomcat

iso8859-1 。Tomcat get iso8859-1 , url,

/、。

   :

  A, , , 。

  B, Get url , url iso8859-1 。

server.xml Connector useBodyEncodingForURI="true"

   , tomcat get , get

request.setCharacterEncoding("UTF-8") 。

  utf-8, 。

   ,tomcat

  
  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

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

  debug="0" connectionTimeout="20000" useBodyEncodingForURI="true"

  disableUploadTimeout="true" URIEncoding=”UTF-8”/>

   URIEncoding=”UTF-8” , utf-8,

。 url , URIEncoding=”UTF-8”

   。

  4,

   ,form enctype="multipart/form-data"。 。

apach , 。 apach

  commons-fileupload.jar bug, , ,

tomcat iso-8859-1。 : , ,

   , , , 。

   : commons-fileupload-1.1.1.jar jar bug。

   iso8859-1 utf-8 。



  5,Java url ,

  url , URIEncoding=”UTF-8”。 ,

url , 。

   ,

   Response.sendDerect(“/a.jsp?name= ”); a.jsp

  String name = request.getParameter("name"); 。 utf-8

, , :

  Response.sendDerect(“/a.jsp?name=URLEncode.encode(“ ”,”utf-8”); 。

   URIEncoding=”UTF-8”, ?

iso8859-1。 , ,

   , , 。 ,

, 。 ,

   , ,

。 。

  6, url ,

   , , 。

URIEncoding=”UTF-8” ,

   。 , ,



  7, jsp MyEclipse

   ,Jsp utf-8。 eclipse,

iso8859-1。 jsp 。

   , eclipse3.1 general-〉edidor,

utf-8 。Eclipse 。 。

  8, html eclipse

   dreamweaver , eclipse 。

   , eclipse jsp, dreamweaver jsp

   ,tomcat

  
  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

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

  debug="0" connectionTimeout="20000" useBodyEncodingForURI="true"

  disableUploadTimeout="true" URIEncoding=”UTF-8”/>

   URIEncoding=”UTF-8” , utf-8,

。 url , URIEncoding=”UTF-8” 。

 4,

   ,form enctype="multipart/form-data"。 。

apach , 。 apach

  commons-fileupload.jar bug, , ,

tomcat iso-8859-1。 : , ,

   , , , 。

   : commons-fileupload-1.1.1.jar jar bug。

   iso8859-1 utf-8 。



  5,Java url ,

  url , URIEncoding=”UTF-8”。 ,

url , 。

   ,

   Response.sendDerect(“/a.jsp?name= ”); a.jsp

  String name = request.getParameter("name"); 。 utf-8

, , :

  Response.sendDerect(“/a.jsp?name=URLEncode.encode(“ ”,”utf-8”); 。

   URIEncoding=”UTF-8”, ?

iso8859-1。 , ,

   , , 。 ,

, 。 ,

   , ,

。 。

  6, url ,

   , , 。

URIEncoding=”UTF-8” ,

   。 , ,



  7, jsp MyEclipse

   ,Jsp utf-8。 eclipse,

iso8859-1。 jsp 。

   , eclipse3.1 general-〉edidor,

utf-8 。Eclipse 。 。

  8, html eclipse

   dreamweaver , eclipse 。

   , eclipse jsp, dreamweaver jsp

   JSP , ,



  1、JSP

   , :


  -8" %>

  2、

   , , :

  

  String Url="jdbc:mysql://localhost/digitgulf?

user=root&password=root&useUnicode=true&characterEncoding=utf-8";

   :

  response.setContentType("text/html;charset=utf-8");

  request.setCharacterEncoding("utf-8");

  3、

   , , :

   ,

  RearshRes.jsp?keywords=" + java.net.URLEncoder.encode(keywords)

  

  keywords=new String(request.getParameter("keywords").getBytes("8859_1"));

   , , 。

転載先:https://www.cnblogs.com/argus-agent/p/5529924.html