㈠ java開發的網站,我將頁面,資料庫,過濾器配置文件的編碼都改成了utf-8,怎麼頁面還是亂碼,刷新下就好了
現在支持JAVA的虛擬主機很少了。
不過你可以翔雲主機自己配置。。
㈡ Filter中文過濾器有問題,諸位大俠幫我看看啊!
補充2:有兩種方式可以把utf8設置到欄位級別。
1.工具方式,請使用mysql官方工具mysql query browser,然後在表的edit table中的column details,直接對欄位進行設置。
2.命令行方式,ALTER TABLE tablename MODIFY COLUMN columnname varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL;對於每個可能會出現亂碼的欄位都要設置。
------------
補充:
他對已有的數據無效,只對設置utf8後的數據有效。另外,請樓主注意:utf8要設置到欄位級別,而不僅僅是表級別。
------------------------------------
不需要這樣處理。對於jsp+mysql的多語言問題,可以用以下解決方案,可以對任意語言都適用。
1.在資料庫鏈接字元串上要形如:jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF-8(注意要加characterEncoding=UTF-8)
2.在資料庫表和相應的欄位要的charset要選擇utf8(欄位也要加)
3.在servlet的java中去參數時要加上:httpServletRequest.setCharacterEncoding("UTF-8");
4.jsp頁面要加上字元集:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
這樣就可以處理所有語言的亂碼問題。
㈢ JSP Filter過濾器設置編碼問題。。。
importjava.io.IOException;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.omg.CORBA.Request;
{
@Override
publicvoiddestroy(){
//TODOAuto-generatedmethodstub
}
@Override
publicvoiddoFilter(ServletRequestreq,ServletResponseres,
FilterChainchain)throwsIOException,ServletException{
//TODOAuto-generatedmethodstub
System.out.println("字元編碼過濾器");
HttpServletRequestrequest=(HttpServletRequest)req;
HttpServletResponseresponse=(HttpServletResponse)res;
request.setCharacterEncoding("UTF-8");
chain.doFilter(request,response);
}
@Override
publicvoidinit(FilterConfigconfig)throwsServletException{
//TODOAuto-generatedmethodstub
}
}
以上就是Filter過濾器的代碼, 都設置成UTF-8 支持中文, 寫好了以上代碼之後,要在web.xml文件中進行配置。
㈣ 過濾器符號
鑄鋼過濾器來
型號:源SG41H-16C
口徑:DN15-DN500
公稱壓力:PN16、PN25
閥體:CF8、cf8M
閥蓋:CF8、cf8M
墊片:PTFE
過濾網、閥蓋螺栓、堵頭:SUS304
使用介質:水、油、氣體
㈤ jsp關於過濾器順序的亂碼問題
首先過濾器 是有載入順序的!!!這點要明確!! 任何代碼都是從上往下執行,怎麼可能 隔空執行,這不符合人為規范邏輯的!
characterfilter,是字元編碼過濾器,會幫你處理字元編碼 轉義 ,
如果先載入loginfilter,你傳遞的中文參數 沒有進行任何的編碼與解碼當然為亂碼啊。
㈥ 如何配置Filter過濾器處理JSP中文亂碼
注意問題:在學慣用selvert的過濾器filter處理中文亂碼時,在filter配置初始化時用了utf-8處理中文亂碼,而在提交的jsp頁面中卻用了gbk。雖然兩種都可以出來中文亂碼,但是卻造成了處理亂碼的格式不一致。所以編譯出錯。
解決方法:所有地方都用utf-8或gbk
//過濾器類
CharactorFilter.jsp
package cn.com.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 CharactorFilter implements Filter { //繼承Filter類
//字元編碼
String encoding=null;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(encoding!=null){
//設置request字元編碼
request.setCharacterEncoding(encoding);
//設置response字元編碼
response.setContentType("text/html;charset="+encoding);
}
//傳遞給下一個過濾器
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
//獲取初始化參數
encoding=filterConfig.getInitParameter("encoding");
}
public void destroy() {
// TODO Auto-generated method stub
encoding=null;
}
}
web.xml
<filter> <!--注意這里是filter,不要配置成servlet-->
<filter-name>CharactorFilter</filter-name> <!--過濾器名稱-->
<filter-class>cn.com.Filter.CharactorFilter</filter-class> <!--過濾器的完整類名-->
<init-param> <!--初始化參數-->
<param-name>encoding</param-name> <!--參數名稱-->
<param-value>utf-8</param-value> <!--參數值-->
</init-param>
</filter>
<filter-mapping> <!--過濾器映射-->
<filter-name>CharactorFilter</filter-name><!--過濾器名稱-->
<url-pattern>/*</url-pattern><!--URL映射,給所有頁面處理亂碼-->
</filter-mapping>
㈦ eclipse web項目的編碼過濾器,統一設置成UTF-8
過濾器中的內容:
private static final long serialVersionUID =85757L;
private String encoding;
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
arg0.setCharacterEncoding(encoding);
arg1.setCharacterEncoding(encoding);
arg2.doFilter(arg0, arg1);
}
public void init(FilterConfig arg0) throws ServletException {
encoding=arg0.getInitParameter("encoding");
}
web.xml文件中 添加過濾器
<filter>
<filter-name>類名</filter-name>
<filter-class>類名全路徑(包括包名)</filter-class>
<init-param><!--參數 與過濾器中的encoding對應 encoding的實際值是utf-8-->
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
㈧ java filter 過濾器中文亂碼 怎麼解決啊
1、首先編寫一個Java類的filter代碼。操作步驟:
(1)在myeclipse中新建一個java類,
(2)單擊「Add」按鈕,在彈出來的對話框中「選擇介面」文本框中輸入Filter,
並選擇匹配好的類型javax.servlet
(3)單擊「OK」按鈕返回"New Java Class"對話,然後單擊「Finish」按鈕,就可以看到創建的過濾器框架:
過濾器類:Encoding.java,代碼如下:
package com;
import java.io.IOException;
import javax.servlet.*;
public class Encoding implements Filter {
protected String encoding=null;
protected FilterConfig config;
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(request.getCharacterEncoding()==null){
//得倒指定的編碼
String encode=getEncoding();
if(encode!=null){
//設置request的編碼
request.setCharacterEncoding(encode);
response.setCharacterEncoding(encode);
}
}
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
this.config=filterConfig; //得到web.xml中的配置編碼
this.encoding=filterConfig.getInitParameter("Encoding");
}
protected String getEncoding(){
return encoding;
}
}
2、在web.xml文件寫入以下代碼:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<filter> <!-- 控制編碼 -->
<filter-name>EncodingFilter</filter-name>
<filter-class>com.Encoding</filter-class>
<init-param> <!-- 初始化參數 -->
<param-name>Encoding</param-name>
<param-value>GB2312</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
㈨ 關於java過濾器解決中文亂碼的
因為你襲遺漏了重要的一步。正確的方法如下:
if(encoding!=null){
//設置request字元編碼
request.setCharacterEncoding(encoding);
//設置response字元編碼
response.setContentType("text/html;charset="+encoding);
response.setCharacterEncoding(encoding);
}
//傳遞給下一個過濾器
chain.doFilter(request,response);