setCharacterEncoding .

在JAVA WEB开发中使用setCharacterEncoding()设置编码2008年04月11日 星期五 14:431、对于request,是指提交内容的编码:
      指定后可以通过getParameter()则直接获得正确的字符串,如果不指定,则默认使用iso8859-1编码,需要进一步处理。参见下述"表单输入"。值得注意的是在执行setCharacterEncoding()之前,不能执行任何getParameter()。java doc上说明:This method must be called prior to reading request parameters or reading input using getReader()。而且,该指定只对POST方法有效,对GET方法无效。分析原因,应该是在执行第一个getParameter()的时候,java将会按照编码分析所有的提交内容,而后续的getParameter()不再进行分析,所以setCharacterEncoding()无效。而对于GET方法提交表单是,提交的内容在URL中,一开始就已经按照编码分析所有的提交内容,setCharacterEncoding()自然就无效。

2、对于response,则是指定输出内容的编码:
     同时,该设置会传递给浏览器,告诉浏览器输出内容所采用的编码。

 

 

 


request.setCharacterEncoding()是设置从request中取得的值或从数据库中取出的值 (只管post方式提交的问题///get需在server.xml中的:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"

URIEncoding="GBK" />

)加入URIEncoding="GBK",解决post和get之间乱码问题


response.setContentType("text/html;charset=gb2312")是设置页面中为中文编码

 

前者是设置动态文字(参数,数据库),后者设置页面静态文字

response.setContentType指定 HTTP 响应的编码,同时指定了浏览器显示的编码.
response.setCharacterEncoding设置HTTP 响应的编码,如果之前使用response.setContentType设置了编码格式,则使用response.setCharacterEncoding指定的编码格式覆盖之前的设置.与response.setContentType相同的是,调用此方法,必须在getWriter执行之前或者response被提交之前.

### 回答1: req.setCharacterEncodingJava Servlet API中的一个方法,用于设置请求的字符编码。它的作用是告诉服务器如何解析请求中的字符数据,以便正确地处理请求。在处理POST请求时,如果请求中包含中文等非ASCII字符,需要使用该方法设置字符编码,否则可能会出现乱码等问题。 ### 回答2: req.setCharacterEncoding()是一个用于设置请求编码的方法。在Web开发中,当客户端向服务器发送请求时,请求中的参数和数据会以一定的编码格式进行传输。默认情况下,请求的编码格式是由服务器决定的。 如果我们希望设置请求的编码格式,可以使用req.setCharacterEncoding()方法来指定。该方法接受一个字符串参数,用于设置请求的编码格式。常用的编码格式包括UTF-8、GBK等。 设置请求编码格式的作用是为了正确解析请求中的参数和数据。如果请求的编码格式与实际的编码格式不一致,会导致乱码问题或无法正确解析参数的情况发生。所以在处理中文或其他特殊字符的请求参数时,需要先设置请求的编码格式为对应的字符集,以保证数据的正确传递和解析。 例如,如果我们希望将请求中的参数以UTF-8编码格式进行传输和解析,可以使用以下代码: req.setCharacterEncoding("UTF-8"); 这样一来,服务器在解析请求参数时就会使用UTF-8编码格式进行解码,确保参数能够正确地获取,并且不会导致乱码问题。 总而言之,req.setCharacterEncoding()是设置请求编码格式的方法,用于保证请求参数能够正确传输和解析。在处理中文或特殊字符时,需要根据实际情况设置请求的编码格式,以避免可能出现的乱码问题。 ### 回答3: `req.setCharacterEncoding` 是一个用来设置请求中的字符编码的方法。一般来说,当客户端发送请求到服务器时,请求中包含了各种各样的参数和数据。这些数据在传输过程中需要进行编码,以确保它们能够正确地被服务器接收和处理。 编码是将字符转化为字节的过程。在网络传输中,常用的编码方式是UTF-8,它支持世界上几乎所有的字符。当客户端发送的请求数据使用其他编码方式时,服务器需要知道正确的编码方式,才能正确地解析请求中的数据。 `req.setCharacterEncoding` 方法的作用就是告诉服务器请求中的数据使用的编码方式是什么,让服务器能够正确地解析这些数据。通常,这个方法会在处理请求的代码的最前面调用。 例如,在一个Java Web应用程序中,可以通过以下方式设置请求的字符编码为UTF-8: ``` req.setCharacterEncoding("UTF-8"); ``` 有了正确的字符编码设置,服务器就能够正确地解析请求中的数据,并将其转化为Java程序能够处理的字符串。这对于处理表单数据、URL参数、请求体中的文本等等非常重要。 总而言之,`req.setCharacterEncoding` 方法是一个用来设置请求字符编码的重要工具,它能够确保服务器能够正确地解析请求中的数据,从而保证应用程序能够正确地处理客户端发送的请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值