欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql部分字符存儲(chǔ)報(bào)錯(cuò) Incorrect string value問題解決

 更新時(shí)間:2023年07月31日 11:10:35   作者:csdncjh  
MySQL中的utf-8字符集并不完全支持utf-8,本文這要介紹了mysql部分字符存儲(chǔ)報(bào)錯(cuò) Incorrect string value問題解決,具有一定的參考價(jià)值,感興趣的可以了解一下

原因分析

正常情況 utf-8 是一種可變長(zhǎng)度的字符集,它的單個(gè)字符的長(zhǎng)度范圍可以在1~4字節(jié)之間變化。由于其支持字符范圍廣并且傳輸效率高而被廣泛使用。雖然在 Windows 中我們默認(rèn)用的還是 gbk字符集 ,但是在使用瀏覽器瀏覽網(wǎng)站的時(shí)候大部分網(wǎng)站其實(shí)已經(jīng)在廣泛使用 utf-8字符集了。

而在 MySQL 當(dāng)中由于一些歷史原因,其直接支持的 utf-8 格式并非完全版的 utf-8。簡(jiǎn)單來(lái)說(shuō)MySQL中的utf-8字符集并不完全支持utf-8具體表現(xiàn)就是只能保存最長(zhǎng)字節(jié)為三字節(jié)的字符,而對(duì)于四字節(jié)編碼的字符時(shí),就會(huì)無(wú)法保存,并且拋出 Incorrect string value異常來(lái)聲明"你輸入了我無(wú)法識(shí)別的字符"。

為了解決無(wú)法保存四字節(jié)編碼的utf-8字符的問題,MySQL在5.3.3版本時(shí)推出了 utf8mb4字符集。因此我們?cè)谑褂脮r(shí)如果存在目標(biāo)字段值中有emoji或者生僻字的情況時(shí),最好使用 utf8mb4 字符集建表。 

復(fù)現(xiàn)

CREATE TABLE tb_description(
    id int(11) AUTO_INCREMENT COMMENT '主鍵',
    description varchar(1024) COMMENT '評(píng)論',
    create_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
    PRIMARY KEY(id)
)engine=InnoDB,charset=utf8;
INSERT INTO tb_description(description) VALUES("學(xué)到了??"); 

解決辦法

CREATE TABLE tb_description(
    id int(11) AUTO_INCREMENT COMMENT '主鍵',
    description varchar(1024) COMMENT '評(píng)論',
    create_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
    PRIMARY KEY(id)
) engine=InnoDB,DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

在客戶端插入前,設(shè)置編碼,插入成功

SET NAMES utf8mb4; 

INSERT INTO tb_description(description) VALUES("學(xué)到了??");?

jdbc連接設(shè)置

jdbc.url=jdbc:mysql://xxx:3306/xx?useUnicode=true&characterEncoding=utf8mb4

如果Jfinal

jdbcUrl=jdbc:mysql://127.0.0.1:3306/blog

DruidPlugin 初始化后指定編碼

DruidPlugin druidPlugin = getDruidPlugin();
//指定編碼為utf8mb4    
druidPlugin.setConnectionInitSql("set names utf8mb4");
me.add(druidPlugin);

來(lái)源

mysql遇到1366: Incorrect string value的正確解決方法_yes1983的博客-CSDN博客

MySQL插入數(shù)據(jù) “Incorrect string value“ 錯(cuò)誤解析_ghimi的博客-CSDN博客

到此這篇關(guān)于mysql部分字符存儲(chǔ)報(bào)錯(cuò) Incorrect string value問題解決的文章就介紹到這了,更多相關(guān)mysql 字符存儲(chǔ)報(bào)錯(cuò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論