成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

javaweb中文亂碼怎么解決-創(chuàng)新互聯(lián)

java web中文亂碼怎么解決?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

創(chuàng)新互聯(lián)專注于沾益企業(yè)網(wǎng)站建設,響應式網(wǎng)站開發(fā),商城網(wǎng)站建設。沾益網(wǎng)站建設公司,為沾益等地區(qū)提供建站服務。全流程按需求定制網(wǎng)站,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務

設置文件的保存編碼格式,這個一般在新建項目時,設置了GBK的編碼格式,這時文件的頁面編碼格式是GBK的,而保存格式是ANSI的,后來把項目及文件的編碼格式改為utf-8的編碼格式后,依然出現(xiàn)中文亂碼,這就是因為已經(jīng)存在的文件的保存編碼格式還是ANSI把致,所以要把以前的.java文件的保存格式更改為utf-8,才不會出現(xiàn)中文注釋亂碼問題

window-preferences-General-Content Types 在Text下選擇對應的文件類型再改頁面編碼為UTF-8然后點Update就可以了。

注:

如果是一個全新的工作空間,設置Myeclipse的編碼格式,就等于設置了項目,文件及其保存的編碼格式了(不包含jsp等文件)

如果是一個已經(jīng)存在的工作間,而原來的編碼格式為GBK,那么更改工作空間的編碼,則相當于設置了項目,文件的編碼格式,但是對于以前已經(jīng)存在的.java文件,其保存編碼是改變不了的,必須按上面(4)去更改,但是對于將要新建的文件的保存編碼是有作用的

亂碼要檢查的幾個地方

1.保存的編碼

2.jsp里聲明的編碼(UTF-8和utf8是一樣的)

注意:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>

3.過濾器里處理的字符編碼,僅限于輸入的輸出的數(shù)據(jù)編碼。而上面那句代碼中設的編碼格式是頁面的顯示格式。

一份javaweb的項目代碼中,總共有這幾種格式:

1.代碼的保存格式2.瀏覽器的解析格式3.數(shù)據(jù)輸入時的格式(也就是瀏覽器的解析格式?jīng)Q定)4.數(shù)據(jù)處理時的格式。

原則上以上六種格式都要一樣,就絕對不會亂碼,但有一些特殊情況,其中有一些不一致,顯示也會正確,如不需要將輸入的內(nèi)容進行顯示和處理時request和respose的格式可以與其他的格式不一致,ps:常用編碼ISO-8859-1,gbk,utf-8

因此萬無一失的辦法如下:

Jsp里的聲明語句可以弄掉四種格式,而剩下的兩種格式可以用監(jiān)聽器的方法解決:

新建一個監(jiān)聽器

package com.helloweenvsfei.filter;
 
import java.io.IOException;
 
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
 
public class CharacterEncodingFilter implements Filter{
	private String characterEncoding;	
	private boolean enabled;			
 
	public void destroy() {
		// TODO Auto-generated method stub
		characterEncoding = null;	
	}
 
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		if(enabled || characterEncoding != null){
			request.setCharacterEncoding(characterEncoding);
			
			response.setCharacterEncoding(characterEncoding);
			
		}
		chain.doFilter(request, response);
		
		
	}
 
	public void init(FilterConfig config) throws ServletException {
		// TODO Auto-generated method stub
		
		characterEncoding = config.getInitParameter("characterEncoding");
		
		enabled = "true".equalsIgnoreCase(config.getInitParameter("enabled").trim());
		
		
	}
 
}

web.xml

<filter>
  	<filter-name>characterEncodingFilter</filter-name>
  	<filter-class>com.helloweenvsfei.filter.CharacterEncodingFilter</filter-class>
  	<init-param>
  		<param-name>characterEncoding</param-name>
  		<param-value>utf8</param-value>
  	</init-param>
  	<init-param>
  		<param-name>enabled</param-name>
  		<param-value>true</param-value>
  	</init-param>
  </filter>
  
  <filter-mapping>
  	<filter-name>characterEncodingFilter</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>

關(guān)于java web中文亂碼的解決方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

分享名稱:javaweb中文亂碼怎么解決-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://jinyejixie.com/article16/jsidg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設定制網(wǎng)站、網(wǎng)站排名搜索引擎優(yōu)化、定制開發(fā)、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設
永安市| 柳林县| 杭锦旗| 肇庆市| 从江县| 双柏县| 新乡市| 德化县| 宜都市| 壶关县| 玉龙| 扶风县| 罗定市| 聊城市| 芦溪县| 互助| 卓尼县| 吉首市| 马公市| 长垣县| 阜康市| 辽中县| 龙川县| 绥德县| 长岭县| 内乡县| 谷城县| 施秉县| 临沧市| 江门市| 武城县| 新密市| 淮阳县| 瑞昌市| 鸡东县| 华安县| 濮阳县| 通江县| 邓州市| 任丘市| 富源县|