問題整理

(一)後臺數據傳入MySQL數據庫亂碼:

可能是MySQL默認數據字符集編碼不匹配的問題

1、最簡單的修改方法,就是修改mysql的my.ini文件中的字符集鍵值(修改前請先關閉MySQL服務),

如 default-character-set = utf8       character_set_server = utf8

修改完後,重啓mysql的服務,service mysql restart

使用 mysql> SHOW VARIABLES LIKE 'character%';查看,發現數據庫編碼均已改成utf8

2、 還有一種修改mysql默認字符集的方法,就是使用mysql的命令

mysql> SET character_set_client = utf8 ;

mysql> SET character_set_connection = utf8 ;   

mysql> SET character_set_database = utf8 ;   

mysql> SET character_set_results = utf8 ;    

mysql> SET character_set_server = utf8 ;   

 

mysql> SET collation_connection = utf8 ;  

mysql> SET collation_database = utf8 ;   

mysql> SET collation_server = utf8 ; 

一般就算設置了表的mysql默認字符集爲utf8並且通過UTF-8編碼發送查詢,你會發現存入數據庫的仍然是亂碼。

問題就出在這個connection連接層上。解決方法是在發送查詢前執行一下下面這句:

SET NAMES 'utf8';

它相當於下面的三句指令:

SET character_set_client = utf8;

SET character_set_results = utf8;

SET character_set_connection = utf8;



(二)React前端發送OPTIONS請求,出現了重定向問題,根據網上資料顯示,OPTIONS請求是一種用於試探的請求,通過OPTIONS請求來測試相關接口是否可以進行連接,若可以則進行第二次的正式的請求。問題在於有部分後臺系統會對OPTIONS請求進行攔截,之後會在前臺報跨域錯誤。SHIRO可以通過修改文件進行處理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章