亂碼問題和解決辦法(資料顯示和提交)

2021-10-13 12:33:55 字數 1710 閱讀 7504

介面提交的資料預設使用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...