介面提交的資料預設使用iso-8859-1的編碼,該編碼不支援中文。因此亂碼,表現為????,如下圖
解決辦法:在web.xml中設定編碼過濾器,spring框架提供了編碼過濾器類,具體配置如下:
>
>
characterfilter-name
>
>
org.springframework.web.filter.characterencodingfilterfilter-class
>
>
>
encodingparam-name
>
>
utf-8param-value
>
init-param
>
filter
>
>
>
characterfilter-name
>
>
*url-pattern
>
>
介面到控制器沒有亂碼,控制器到業務沒有亂碼,業務到dao沒有亂碼,dao到資料庫亂碼。
在資料庫在安裝時沒有更改預設編碼,導致資料庫預設編碼是拉丁編碼,如下圖所示:
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-conssw6v-1609313893246)(
解決辦法:在資料庫指令碼時設定編碼,如:
create
database
ifnot
exists
`luasedu1`
default
character
set utf8;
use`luasedu`
;create
table
`score`
(`id`
int(11)
notnull
auto_increment
,`stuname`
varchar(20
)default
null
,`gender`
char(1
)default
null
,`coursename`
varchar(50
)default
null
,`coursescore`
int(11)
default
null
,primary
key(
`id`))
engine
=innodb
auto_increment=3
default
charset
=utf8;
jdbc\:mysql\://localhost\:3306/luasedu
解決辦法:
jdbc\:mysql\://localhost\:3306/luasedu?characterencoding=utf8
linux 中文顯示亂碼解決辦法
環境 redhat linux 9 問題 中文顯示亂碼 解決 1.開啟terminal,輸入以下命令 vi etc sysconfig i18n 2.按下小寫的i 表示插入 將內容改為 lang zh cn.gb18030 language zh cn.gb18030 zh cn.gb2312 zh...
針對SecureCRT顯示亂碼的解決辦法
好久不使用linux了,今天使用sercurecrt遠端linux的時候,竟然出現亂碼,很是氣憤,如下圖 接著輸入locale 上面的字元跟下面的字元一樣了,後來改回utf 8。問題解決 順便解釋一下這三行 第一行表示當前系統的語言環境變數設定,這裡是zh cn.utf 8 第二行表示系統支援哪些字...
Mysql 中文顯示亂碼的解決辦法
以windows為例,找到my.ini檔案 windows路徑 c programdata mysql mysql server 5.7 my.ini linux路徑 etc my.ini 修改伺服器配置檔案5.5版本之後修改方法 etc my.cnf client default characte...