1. 程式人生 > >idea2017.03做java web 專案解決中文亂碼問題

idea2017.03做java web 專案解決中文亂碼問題

方法一:

第一步:修改配置檔案

進入tomcat對應版本資料夾-->conf-->serve.xml,右擊用記事本開啟

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

               maxThreads="100"  

               redirectPort="8443" />

改為:

 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000" 
               maxThreads="100"  
               URIEncoding="utf-8" 
               compression="on" 
               compressionMinSize="2048"
               compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"

               redirectPort="8443" />

儲存修改。

第二步:

如果採用的是doGet()方法,

則在方法體內部 PrintWriter pw = response.getWriter();語句之前加上如下兩行程式碼:
response.setCharacterEncoding("utf-8");

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

如果採用的是doPost()方法,

則在PrintWriter pw = response.getWriter();之前加上如下三行程式碼:
在PrintWriter pw = response.getWriter();之前加上如下三行程式碼:
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");

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

方法二:(推薦第二種辦法)

使用過濾器,新建一個過濾器的類,在該類中設定編碼格式,接著在web.xml配置過濾器的類,這樣其他servlet檔案就算不寫編碼格式的相關程式碼,也不會出現亂碼了。

第一步:新建一個過濾器的類:

import javax.servlet.*;
import java.io.IOException;
public class characterFilter implements Filter {
    @Override
public void init(FilterConfig filterConfig) throws 
ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { servletRequest.setCharacterEncoding("utf-8"); servletResponse.setCharacterEncoding("utf-8"); filterChain.doFilter(servletRequest,servletResponse); } @Override public void destroy() { } }

第二步:在web.xml中配置過濾器

<filter>
    <filter-name>characterFilter</filter-name>
    <filter-class>characterFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>characterFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<url-pattern>/*</url-pattern>代表所有要執行的檔案執行時先要進行該過濾器方法的過濾,把所有程式碼格改為utf-8。

儲存修改 在開啟伺服器的情況下重新整理頁面,獲取的就不是亂碼了。

宣告:原創文章,請勿轉載。