今天在做web專案時,發現在插入資料庫時出現了中文的亂碼問題,在網上找了一大堆,無非就是乙個問題,那就是資料庫的編碼設定有問題,在這裡僅僅只是講一下方法是怎麼做的:
1.在mysql中使用show variables like 'char%'命令檢視mysql的編碼格式,如果不是utf-8格式就全部都換成utf-8格式的,反正換成這個沒啥錯,具體等之後在深究;
2.直接了當在mysql的安裝目錄下編輯my.ini檔案
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
有的就更改,沒有就填上
之後,在寫資料庫的時候在create database database_name default character set utf8 collate utf8_general_ci;加上這個
最後用show variables like 'char%'得出這樣:
就可以了。
3.這樣mysql就基本不抽風了,不過,我後來發現自己在前端jsp頁面傳入controller的時候資料也出現了亂碼,所以導致插入資料庫的時候也是亂碼形式,解決方法很簡單,就是新增乙個編碼過濾器就行了
spring character encoding filter這樣就全部解決了!!!org.springframework.web.filter.characterencodingfilter
encoding
utf-8
/*
不得不說,這個編碼的問題我一直很少涉及,也沒有深究過,這次暴露出了很多問題,不過我只是有了解決方法,但是並不清楚原理,往後弄懂了原理再回來填坑。
有關於tomcat的亂碼問題
這幾天專案中涉及到了編碼問題,收到的請求中出現中文亂碼現象。應為我們的專案中用的是 utf 8 編碼格式,而對方起請求我們的時候用的是gbk編碼,我們在本機eclipse中執行,修改了編碼方式,先以gbk方式解碼,然後再回去請求字段,此時中文字段不再是亂碼,可是放到了線上,收到的請求仍然是亂碼,這是...
有關PHP中的Ajax亂碼問題
ajax的亂碼的主要原因 由於xmlhttp採用的是unicode編碼 而一般頁面採用的是gb2312 而當在獲取頁面時的xmlhttp返回的是utf 8編碼 這就造成了顯示產生亂碼。基本的解決辦法有以下幾種 方法一 在php檔案中顯示宣告為gb2312 header content type te...
MYSQL的亂碼問題
總結了一下幾個處理方法 1 改變資料庫的預設編碼配置,在mysql的安裝目錄中,找到my.ini,修改預設編碼為 default character set utf8 2 建立資料庫時,create database ms db character set utf8 collate utf8 gen...