JSP adbc tag 連接 MySQL 數(shù)據(jù)庫中文變?

前言

我也不知道該怎么起標題了。這個標題大概就是我搜索錯誤是用到的關(guān)鍵詞
最近在寫 JSP。 昨天用到了數(shù)據(jù)庫,但是遇到了一個超級崩潰的錯誤。
我的 SQL 語句中 如果出現(xiàn)了中文,在數(shù)據(jù)庫中執(zhí)行的時候 中文就變成了?

錯誤的樣子:
我執(zhí)行這個 
select * from book where author like '%金庸%' 
在數(shù)據(jù)庫執(zhí)行日志看就是 
select * from book where author like '%??%' 
這種錯誤

當時大概思路是
先查了一遍我的數(shù)據(jù)庫和表以及字段的數(shù)據(jù)類型,沒發(fā)現(xiàn)問題
在請求數(shù)據(jù)查詢的地方,直接寫了一條固定的 SQL 語句。發(fā)現(xiàn)問題是出現(xiàn)在這里
然后嘗試各種解決方式 無效。 偶然想到了查詢數(shù)據(jù)庫日志,嘗試,查到了日志可是沒解決問題思路
早上起來突然想到。會不會是整個 MySQL 的編碼方式于是在網(wǎng)上找了篇參考文章 來自CSDN 的 參考文章 查看修改mysql編碼方式

整個過程

查數(shù)據(jù)庫的執(zhí)行日志
查詢數(shù)據(jù)庫實時執(zhí)行 參考自 CSDN 博主 春夏秋冬又一年
1. 進入 mysql, 修改設(shè)置:

image

2. 查看 mysql 的日志文件所在位置:
image

3. 在終端 用 tail -f 命令 打開該日志文件:
tail -f /usr/local/var/mysql/日志文件名.log
如果執(zhí)行不了, 可能會需要權(quán)限, 在前面添加 sudo 即可
(用 vim 打開的不是實時的, 需要手動翻頁查看)
4. 接下來,再進行 mysql 相關(guān)的查詢等操作時,便可以在終端打開的這個文件里實時看到每一步的操作了
比如:
image

在一篇文章中我發(fā)現(xiàn)了字符集可能導(dǎo)致的問題
于是檢查了一下字符集。
檢查字符集的方式
mysql> show variables like 'character%';
image.png

可以看到我的 character_set_server value 值為 latin1
問題應(yīng)該是在這里 嘗試把它改為 utf8
有方法說是用
mysql> set names utf8;
我使用后無效. 于是看到網(wǎng)上說改配置文件,因為我是在官網(wǎng)下載 MySQL mac 版,我并沒有找到 配置文件, 也沒有找到 my-default.cnf
修改期間必須關(guān)閉mysql?。?!
(這些內(nèi)容參考子 博主 涂山千風)

  1. 我們要在/etc下新建my.cnf
    $ cd /etc $ sudo vim my.cnf
    輸入: 內(nèi)容見此鏈接 (這里邊的內(nèi)容目測就是 配置文件 )改character_set_server=utf8;
  2. 保存并退出
  3. 重啟mysql。


    image.png

    完美?。?!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容