日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

struts2 mysql 乱码_struts2项目插入中文到mysql数据库乱码的解决方法

發布時間:2023/12/2 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 struts2 mysql 乱码_struts2项目插入中文到mysql数据库乱码的解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目又出了一些小問題,在更新/插入中文數據到mysql數據庫時會顯示問號。

我做了如下工作解決了問題:

1. 檢查頁面編碼

將所有的jsp頁面編碼方式、字符集更改為

2. 更改數據庫字符集/編碼方式

將mysql配置文件my.ini相關內容改為

[mysql]

default-character-set=utf8

character-set-server=utf8

在mysql命令行運行以下代碼(是否有必要存疑)

set character_set_database=utf8;

set character_set_server=utf8;

set character_set_client=utf-8;

set character_set_connection=utf-8;

在mysql命令行運行SHOW VARIABLES LIKE 'character_set_%';查看字符集

運行結果應為:

+--------------------------+---------------------------------------------------------------+

| Variable_name | Value |

+--------------------------+---------------------------------------------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | C:\Program Files (x86)\MySQL\MySQL Server 5.5\share\charsets\ |

+--------------------------+---------------------------------------------------------------+

已經存在的數據庫編碼方式的修改

導出數據庫結構及內容到sql文件

用文本編輯器打開sql文件

修改相關的編碼方式,如把latin1修改為utf8

保存并重新導入sql文件到數據庫

3. 中文參數傳輸編碼設置

1. 更改tomcat服務器編碼

修改Tomcat—->conf—–>server.xml文件,在修改端口的標簽后面加一行代碼,如下:

connectionTimeout="20000"

redirectPort="8443" URIEncoding="UTF-8"/>

2. 添加struts2 過濾器

建立名為EncodeFilter過濾器類(類名可更改),代碼如下:

package dhu.yunfeng.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 EncodeFilter implements Filter {

public void destroy() {

}

public void doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throws IOException, ServletException {

request.setCharacterEncoding("utf-8");

chain.doFilter(request, response);

}

public void init(FilterConfig arg0) throws ServletException {

}

}

在web.xml添加過濾器。

注意:修改類名為自己命名的類,要在已存在過濾器之前

代碼如下:

encoding

dhu.yunfeng.filter.EncodeFilter

encoding

/*

4. 修改國際化資源編碼所使用的字符集

打開struts.xml,添加或修改相關內容

重啟tomcat服務器,問題解決。

參考文章:

http://ivorytower.iteye.com/blog/179279

http://www.2cto.com/database/201410/341144.html

總結

以上是生活随笔為你收集整理的struts2 mysql 乱码_struts2项目插入中文到mysql数据库乱码的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。