mysql導出數據庫,mybatis mysql 中文亂碼_mybatis連接mysql數據庫插入中文亂碼

 2023-11-30 阅读 42 评论 0

摘要:對于mysql數據庫的亂碼問題,有兩中情況:1. mysql數據庫編碼問題(建庫時設定)。mysql導出數據庫。2. 連接mysql數據庫的url編碼設置問題。對于第一個問題,目前個人發現只能通過重新建庫解決,建庫的時候,選擇UTF-8字符集。我試過修改現有數據

對于mysql數據庫的亂碼問題,有兩中情況:

1. mysql數據庫編碼問題(建庫時設定)。

mysql導出數據庫。2. 連接mysql數據庫的url編碼設置問題。

對于第一個問題,目前個人發現只能通過重新建庫解決,建庫的時候,選擇UTF-8字符集。我試過修改現有數據庫字符集為UFT

-8,但是根本不起作用,插入的中文仍然亂碼(中文顯示成:???)。重建庫時選擇字符集為UTF-8之后,中文正常顯示了。

sql中文亂碼怎么解決。對于第二個問題,是這樣 的情況:我建庫時設置了數據庫默認字符集為UTF-8,通過mysql workbench直接插入中文顯示完全正常。但是使用mybaits插入數據時,中文顯示成了"???"這樣的亂碼。但從數據庫獲取的中文不會亂碼。跟 蹤數據庫操作,SQL語句中的中文還是顯示正常的,但是插入到mysql數據庫后就亂碼了,于是判斷可能是數據庫連接的問題。后來在網上找了下資料,發現 確實可以為mysql數據庫的連接字符串設置編碼方式,如下:

jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8

添加了useUnicode=true&characterEncoding=utf8參數之后,插入中文就正常了。

mysql數據庫界面、添加的作用是:指定字符的編碼、解碼格式。

例如:假設mysql數據庫用的是GBK編碼(也可能是其它,例如Ubuntu下就是latin1),而項目數據庫用的是utf-8編碼。這時候如果添加了useUnicode=true&characterEncoding=UTF-8 ,那么作用有如下兩個方面:

1. 存數據時:

數據庫在存放項目數據的時候會先用UTF-8格式將數據解碼成字節碼,然后再將解碼后的字節碼重新使用GBK編碼存放到數據庫中。

2.取數據時:

在從數據庫中取數據的時候,數據庫會先將數據庫中的數據按GBK格式解碼成字節碼,然后再將解碼后的字節碼重新按UTF-8格式編碼數據,最后再將數據返回給客戶端。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/186703.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息