- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網(wǎng)數(shù)碼
數(shù)據(jù)庫總會出現(xiàn)中文亂碼的情況
有同學經(jīng)常會問,為什么我的數(shù)據(jù)庫總會出現(xiàn)中文亂碼的情況。一堆中文亂碼不知道怎么回事?當向數(shù)據(jù)庫中寫入創(chuàng)建表,并插入中文時,會出現(xiàn)這種問題。此報錯會涉及數(shù)據(jù)庫字符集的問題。
解決思路:對于中文亂碼的情況,記住老師告訴你的三個統(tǒng)一就可以。還要知道在目前的 MySQL 數(shù)據(jù)庫中字符集編碼都是默認的 UTF8。
處理辦法:
數(shù)據(jù)終端,也就是我們連接數(shù)據(jù)庫的工具設置為 utf8。
操作系統(tǒng)層面,可以通過 cat /etc/sysconfig/i18n 查看,也要設置為 utf8。
數(shù)據(jù)庫層面,在參數(shù)文件中的 mysqld 下,加入 character-set-server=utf8。
Emoji 表情符號錄入 MySQL 數(shù)據(jù)庫中報錯:
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)
解決思路:針對表情插入的問題,一定還是字符集的問題。
處理方法:我們可以直接在參數(shù)文件中,加入:
vim /etc/my.cnf [mysqld] init-connect=’SET NAMES utf8mb4′ character-set-server=utf8mb4
注:utf8mb4 是 utf8 的超集。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP