解决JAVAWeb中常见中文乱码问题

  1.解决request中文乱码问题常用办法

request.setCharacterEncoding("UTF-8");

  

  2.解决response中文乱码问题常用办法

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

  3.解决连接mysql数据库中文乱码问题常用办法

  (1)情况一:传统配置

 String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8";

 (2)情况二:xml文件中配置(&需要用 &进行转义)

url="jdbc:mysql://localhost:3306/stums?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8"

   4.解决window.location.href中传参时中文乱码问题

   第一步:JSP中使用encodeURI();

var bookTitle = encodeURI(document.getElementById("tags").value) ;
window.location.href="GetBook.do?bookName="+bookTitle;

  第二步:Controller中有两种方式

 方式一:

     

String bookTitle = request.getParameter("bookTitle ");
String str=new String(bookTitle.getBytes("ISO-8859-1"),"UTF-8");

  

方式二:

String bookTitle = request.getParameter("bookTitle ");
String str =  java.net.URLDecoder.decode(bookTitle, "utf-8");

  

猜你喜欢

转载自blog.csdn.net/qq_40348465/article/details/83870127