有关乱码使用方法间的区别与联系

request.setCharacterEncoding()与字符串的方法,如:

String title=request.getParameter("title");
title = new String(title.getBytes("ISO8859-1"),"GBK");两者之间有什么联系与区别?

区别:
①,两者的处理过程不一样。String title=request.getParameter("title"); 是直接从request获得字符串,字符集是系统默认的字符集。

而title = new String(title.getBytes("ISO8859-1"),"GBK");
第一步,是title.getBytes("ISO8859-1"),使用给定的 "ISO8859-1"字符集 将此字符串title 编码到 byte 序列,并将结果存储到新的 byte 数组。然后再通过使用指定的 "GBK"字符集解码指定的 byte 数组,构造一个新的 String。

②,title = new String(title.getBytes("ISO8859-1"),"GBK");可以在一定程度上防止出现乱码问题。而String title=request.getParameter("title");却不能。

不知您是否满意?!