讓MySQL支援歐元字元
本文說明一下MySQL中不支援歐元字元的原因及解決方法。
1、 問題描述
在mysql中插入的字串中若包含歐元字元(€),會發現該字元及以後的字串都變得“不可見”。實際上這裡並非不可見,而是根本沒有進入資料庫中。簡單描述步驟如下:
root@test 05:15:41>create table t(c char(32)) engine=innodb charset=gbk; Query OK, 0 rows affected (0.01 sec)
root@test 05:16:29>insert into t values(concat(`a`, char(128), `b`)); Query OK, 1 row affected, 1 warning (0.00 sec)
root@test 05:17:04>select * from t; +——+ | c | +——+ | a | +——+
|
可以看到,我們試圖插入三個字元(a, €, b), 但在查詢中發現只有一個字元a.
Insert的一個warning內容為 Incorrect string value: `x80b` for column `c` at row 1
說明在插入0x80(即€) 時出錯,導致後面的字元也一起被丟棄.
2、 原因分析
我們知道,在mysql將語句中設定的值傳給引擎時,需要先拷貝到一個臨時結構中。但拷貝字串只會以
相關文章
- mysql 支援索引字元超過 767MySql索引字元
- 正則-元字元字元
- 正規表示式元字元與普通字元字元
- MySQL 字元型別MySql字元型別
- dotnet 9 WPF 連字元渲染支援字元
- 正規表示式 ^元字元字元
- 正規表示式 $ 元字元字元
- 正規表示式 \d元字元字元
- 正規表示式 \t 元字元字元
- 正規表示式 \t元字元字元
- 正規表示式 \0元字元字元
- 正規表示式 \s 元字元字元
- 正規表示式 \xxx 元字元字元
- 正規表示式 \r 元字元字元
- 正規表示式 \n 元字元字元
- 正規表示式 \W元字元字元
- 正規表示式 \w 元字元字元
- 正規表示式 點(.)元字元字元
- 正規表示式 \xnn元字元字元
- 正規表示式 \b元字元字元
- 正規表示式 \D 元字元字元
- 正規表示式 \uxxxx 元字元UX字元
- 正規表示式 \v 元字元字元
- 正規表示式 \f 元字元字元
- 正規表示式 \B 元字元字元
- 摩根士丹利:數字歐元將“吸走”歐元區8%客戶存款
- 正規表示式元字元大整理字元
- mysql字符集和字元排序MySql字元排序
- mysql 的Escape跳脫字元串MySql字元
- MySQL用LIKE特殊字元搜尋MySql字元
- MySQL 中字元編碼問題MySql字元
- MySQL字元編碼設定方法MySql字元
- 如何快速讓MySQL資料庫伺服器支援遠端連線MRMySql資料庫伺服器
- 檢視修改mysql編碼方式讓它支援中文(gbk或者utf8)MySql
- 歐盟統計局:2023年歐盟外貿歐元結算超過美元
- 正規表示式中常用的元字元字元
- 歐洲中央銀行:歐元區消費者支付報告
- JS正規表示式從入門到入土(2)—— 元字元和字元類JS字元
- MySQL按指定字元合並及拆分MySql字元