今天在進(jìn)行簡單的java后臺學(xué)習(xí)時,遇到了一些問題。搞的今天本來想可以開始學(xué)習(xí)寫一些簡單的接口了。但是被坑了好久,發(fā)現(xiàn)自己運(yùn)氣好像有點(diǎn)被。總是被坑,然后解決問題又不是很有效率。
最后一些問題感覺還是有點(diǎn)傻,查了好久都沒有找到原因。今天把問題重新記錄一遍。如果剛好有人碰到了,可以試試,如果不行就再找找。
問題匯總:
1.java web后臺接受中文亂碼問題
2.centos7下存儲數(shù)據(jù)到mysql中文亂碼問題
3.Hibernate初始化cfg.xml文件連接mysql中遇到Access denied問題
4.使用jackson包來返回JSON數(shù)據(jù)時,遇到的“找不到cachemanager這個bean”的問題
1.如果出現(xiàn)中文亂碼,要檢查前后兩端的編碼設(shè)置問題。
首先看你的JSP頁面有沒有設(shè)置成utf-8,在這里我們?nèi)拷y(tǒng)一使用utf-8的編碼集,因?yàn)?br>
能表示國際上大多數(shù)的字符(其實(shí)也是因?yàn)樵诰W(wǎng)上看到很多人都說用utf-8,內(nèi)部原因我也沒有深究)。
比如這樣
然后我在后臺接受字符串的時候就會出現(xiàn)中文亂碼,如果我不對我的字符串進(jìn)行處理的話。
我的IDE設(shè)置的編碼也是utf-8,可惜還是要處理。查了一下處理方法,各種字符集轉(zhuǎn)來轉(zhuǎn)去,
最后這個是成功變成中文的。
因?yàn)闉g覽器默認(rèn)編碼是ISO-8859-1,要先轉(zhuǎn)成bytes字節(jié)然后再換成utf-8字符集。應(yīng)該基本就沒有問題了。
2.這個問題卡了一陣時間,也是挺鬧心的。一般可能出現(xiàn)問題在幾個地方:
1.遠(yuǎn)程連接云服務(wù)器的軟件編碼不是utf8
2.centos7下的編碼不支持中文
3.mysql數(shù)據(jù)庫的字符集不正確
首先你可以看看你使用的軟件,我用的是
打開選項(xiàng)->會話選項(xiàng)->外觀->字符編碼
改成utf8 如果ok那就輕松搞定了。如果不行,可能就是其他地方 問題了。
2.你登錄你的centos7里面,然后去可以查看你的系統(tǒng)編碼
使用echo $LANG 看看你的字符集,然后去/etc/locale.conf中修改一下你的字符集
變成 zh_CN.UTF-8, 然后你再去看看有沒有用。如果沒用應(yīng)該可能是數(shù)據(jù)庫系統(tǒng)的字符集的問題
進(jìn)入你的mysql數(shù)據(jù)庫,然后看看
SHOW VARIABLES LIKE 'character_set_%';
這句執(zhí)行后的顯示。
這是我更改后的顯示,如果你不是這個可能就不對了。
我之前是utf8mb4.
修改的方法是進(jìn)入/etc/my.cnf中修改文件
找到 [client] [mysqld] [mysql]在他們的下面都加入 character-set-server=utf8
然后保存之后重新啟動mysql
如果你發(fā)現(xiàn)重新啟動不了(這就是我,RP=0的我,又坑了一會)
報錯: Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/run/mysql.pid).
你可能要刪除一下你之前修改的東西,我后來就是把mysqlId下加的刪除了,再重啟就可以了。
3.我使用Hibernate去連接數(shù)據(jù)庫時,在centos上進(jìn)不去我的mysql,日志說
Access denied for user 'XX'@'127.0.0.1' (using password: YES)
我明明用了正確的用戶名和密碼,竟然登錄不進(jìn)去。
原來是要127.0.0.1這個后綴,之前我注冊用戶用的都是localhost。
root權(quán)限之所以可以進(jìn)去,也是因?yàn)樵趗ser表里有127.0.0.1和localhost
所有如果你發(fā)現(xiàn)這個問題,就去數(shù)據(jù)庫重新加入一個這個用戶就可以了。
第四個問題,應(yīng)該是配置的xml出錯,我也不知道為什么,我用IDEA 2016,它自己生成的頭就不行
用了一個別人的,myeclipse上的頭。這樣就可以了。可以參考一下。如果你用IDE和我一樣。估計一般
也不會有這樣的問題,myeclipse上應(yīng)該會正常一點(diǎn)。
<pre>
<code>
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
</code></pre>