mybatis+springmvc出現無法從mysql查詢中文資料問題
阿新 • • 發佈:2018-12-19
之前簡單弄一個從資料庫查詢的jsp頁面發現查詢中文資料時報編碼錯誤,簡單來說解決方法有幾種:
一.資料庫連線問題 我用的是jdbc.properties,正確的url:
jdbc.url=jdbc:mysql://localhost:3306/db_student?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
mysql版本較高,略有不同,關鍵是: useUnicode=true&characterEncoding=UTF-8 或者另一種寫法:
<property name="url" value="jdbc:mysql://localhost:3306/db_student?useUnicode=true&characterEncoding=UTF-8"/>
二.mysql配置問題: 查詢MySQL資料庫伺服器和資料庫MySQL字符集:
show variables like "%char%";
若看到下圖,那麼可以直接跳過此方法。 否則: 找到mysql安裝目錄下的my.ini(我的版本5.7),配置,加上或修改utf8編碼語句
[mysql] default-character-set=utf8 [mysqld] port=3306 basedir=E:\mysql datadir=E:\mysql\data max_connections=200 character-set-server=utf8 default-storage-engine=INNODB [client] default-character-set=utf8
三. 榮幸之至,當以上兩種都排除而問題依舊無法解決,那就好好檢查程式碼吧。我的問題是:
<form action="${pageContext.request.contextPath}/user/login.do" method="post"> userName:<input type="text" name="userName" value="${userName}"/><br/> passWord:<input type="password" name="passWord" value="${passWord}"/><br/> <input type="submit" value="登入"/><br/> </form>
將程式碼中的method手誤寫成了mothod,奇奇怪怪,他喵的怎麼就查不出中文了。