国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  技術(shù)知識(shí)庫 >  數(shù)據(jù)庫 >  數(shù)據(jù)庫管理 >  MySQL數(shù)據(jù)庫經(jīng)典錯(cuò)誤 九 數(shù)據(jù)庫總會(huì)出現(xiàn)中文亂碼的情況

MySQL數(shù)據(jù)庫經(jīng)典錯(cuò)誤 九 數(shù)據(jù)庫總會(huì)出現(xiàn)中文亂碼的情況

2018-11-08 20:23:07 5017

數(shù)據(jù)庫總會(huì)出現(xiàn)中文亂碼的情況

有同學(xué)經(jīng)常會(huì)問,為什么我的數(shù)據(jù)庫總會(huì)出現(xiàn)中文亂碼的情況。一堆中文亂碼不知道怎么回事?當(dāng)向數(shù)據(jù)庫中寫入創(chuàng)建表,并插入中文時(shí),會(huì)出現(xiàn)這種問題。此報(bào)錯(cuò)會(huì)涉及數(shù)據(jù)庫字符集的問題。

解決思路:對(duì)于中文亂碼的情況,記住老師告訴你的三個(gè)統(tǒng)一就可以。還要知道在目前的 MySQL 數(shù)據(jù)庫中字符集編碼都是默認(rèn)的 UTF8。

處理辦法:

  • 數(shù)據(jù)終端,也就是我們連接數(shù)據(jù)庫的工具設(shè)置為 utf8。

  • 操作系統(tǒng)層面,可以通過 cat /etc/sysconfig/i18n 查看,也要設(shè)置為 utf8。

  • 數(shù)據(jù)庫層面,在參數(shù)文件中的 mysqld 下,加入 character-set-server=utf8。

Emoji 表情符號(hào)錄入 MySQL 數(shù)據(jù)庫中報(bào)錯(cuò):

Caused by: java.sql.SQLException: Incorrect string value: ‘e??—e?…’ for column ‘CONTENT’ at row 1 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028) 
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490) 
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651) 
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2734) 
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155) 
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1379)

解決思路:針對(duì)表情插入的問題,一定還是字符集的問題。

處理方法:我們可以直接在參數(shù)文件中,加入:

vim /etc/my.cnf 
[mysqld] 
init-connect=’SET NAMES utf8mb4′ 
character-set-server=utf8mb4

注:utf8mb4 是 utf8 的超集。


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: