1. 程式人生 > >mysql 插入Emoji表情報錯

mysql 插入Emoji表情報錯

今天做的了個獲取微信粉絲的功能,發現將暱稱插入資料庫報錯.長度肯定是夠的

Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F

找了點資料發現UTF-8編碼有可能是兩個、三個、四個位元組。Emoji表情或者某些特殊字元是4個位元組,而Mysql的utf8編碼最多3個位元組,所以資料插不進去。

網上解決方案都是

修改mysql配置

1.在mysql的安裝目錄下找到my.ini,作如下修改:
[mysqld]
character-set-server=utf8mb4
[mysql]
default-character-set=utf8mb4

2 重啟

net stop mysql
net start mysql

3 修改表

 ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

我只做了第三步就解決我的問題了,現將其記錄下來

相關推薦

mysql 插入Emoji情報

今天做的了個獲取微信粉絲的功能,發現將暱稱插入資料庫報錯.長度肯定是夠的 Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F 找了點資料發現UTF-8編碼有可能是兩個、三個、四個位元組。Emoji表情或者某些特殊字元是4個位

mysql 插入漢字時報 Incorrect string value: 'xE6x9BxB9xE5x86xAC...' for col....

str 使用 需要 memento set like 好習慣 address 數據 Incorrect string value: ‘\xE6\x9B\xB9\xE5\x86\xAC...‘ for column ‘realname‘ at row 1 該情況一般是由數據

Mysql插入Emoji表情出錯

java程序 mman r.java packet 響應 value lex cti err Caused by: java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x98\x84‘ for column

Mysql 插入時間時報Incorrect datetime value: '' for column 'createtime'

不能 mysql 可能 amp 數據庫 eol 版本更新 都是 pan 在網上找了很多方法總結如下: 1.MySQL驅動版本的問題。這種一般是在mYSQL版本更新了之後才會報錯。解決方法在jdbc裏添加“&useOldAliasMetadataBehavior=tr

MySQL插入emoji表情失敗問題的解決方法

失效 說我 限制 nic word 插入 一個 onf correct 前言 之前一直認為UTF-8是萬能的字符集問題解決方案,直到最近遇到這個問題。最近在做新浪微博的爬蟲, 在存庫的時候發現只要保持emoji表情,就回拋出以下異常: Incorrect strin

node mysql插入中文時報

數據類型 發現 選項 com log 結束 數據 就是 排除 一開始以為是前端傳參、數據類型的問題,於是就直接把sql語句中的參數直接改成字符串值,但發現還是報500錯誤。 所以,這就排除了前端的問題。 剩下的就是數據庫了,發現我的表設置有問題。凡是有中文數據的字段,都得改

mysql插入中文報的問題

之前 oot 解決辦法 HR rect href In default def 報錯:1366, "Incorrect string value: ‘\\xE6\\xB7\\xB1\\xE5\\x85\\xA5...‘ for column ‘ 由於公司原因之前一直在使用o

mysql插入emoji表情

UTF-8編碼有可能是兩個、三個、四個位元組。Emoji表情是4個位元組,而Mysql的utf8編碼最多3個位元組,所以資料插不進去。解決方案就是:將Mysql的編碼從utf8轉換成utf8mb4。

解決MySql插入中文報的問題

Incorrect string value: '\xE6\x9B\xB9\xE5\x86\xAC...' for column 'realname' at row 1 該情況一般是由資料庫設計時的編碼錯誤導致的。 show variables like 'character%' ; 

Mysql插入中文報

插入語句:insert into person(id,name,age,sex)values(1,’黃蓉’,24,’女’); 報錯:Incorrect string value: ‘\xBB\xC6\

mysql 儲存 emoji的解決方案

1.修改mysql的配置檔案,windows下的為my.ini(linux下的為my.cnf),修改的內容都一樣 [client]default-character-set = utf8mb4 [m

MySQL 創建時,設置時間字段自己主動插入當前時間

mil post div ipp strong ren current spa blog MySQL 創建表時,設置時間字段自己主動插入當前時間 DROP TABLE IF EXISTS `CONTENT`; CREATE TABLE `CONTENT`

mysql插入中的中文顯示為亂碼或問號的解決方法,親測有用!!

重新啟動 重新 安裝 進入 今天 ext database 技術 arc   今天在做ssh的博客項目時發現mysql數據庫中的中文顯示為問號,網上查閱了很多資料,都不是很全,所以我總結一下,供大家參考和自己復習。   1.我的計算機配置: windows系統(linux沒

MySQL數據插入數據及增加語句

ofo 功能 val tar des pre 指定表 增刪改查 分隔 每個數據庫都有增刪改查功能,下面簡單說說MySQL INSERT語句用法。 1,MySQL INSERT語句允許您將一行或多行插入到表中 INSERT INTO table(column1,column2

解決Mysql資料庫移動端發表情emoji

最近在開發的時候遇到了奇怪的錯誤 ### Error updating database. Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x84 ' for column 'reply_content' a

mysql插入datetime型別報問題解決

sql = "insert into datalist(`name`,datetime) VALUES (%s,str_to_date(%s,'%%Y-%%m-%%d %%h:%%i:%%s'))"注意時間格式化:'%%Y-%%m-%%d %%h:%%i:%%s'str_to_date:是mysql自帶的字串

解決mysql資料庫插入中文報問題

問題的原因:           建立資料庫和資料表的時候未設定編碼造成的。 現象:           向資料表的varchar型別列插入中文報錯   解決: &n

【PHP+MYSQL】批量插入中有相同資料的話則批量更新

應用場景 有時候我們向資料庫插入記錄時,有時會有這種需求,當符合某種條件的資料存在時,去修改它,不存在時,則新增資料的情況。 比如說系統配置則一塊,如有下表: CREATE TABLE `system_config` ( `id` int(11) unsigned NOT N

mysql儲存emoji表情報的處理方法【更改編碼為utf8mb4】

utf-8編碼可能2個位元組、3個位元組、4個位元組的字元,但是MySQL的utf8編碼只支援3位元組的資料,而移動端的表情資料是4個位元組的字元。如果直接往採用utf-8編碼的資料庫中插入表情資料,Java程式中將報SQL異常: java.sql.SQLException: Incorrect st

Mysql 多個中關聯 ID 時,同時插入

用到了 last_insert_id() 插入主表內容 insert into cms_document(title,category_id,model_id,description,view,cr