讓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字元型別
- 讓MYSQL徹底支援中文(slack10.1版)(轉)MySql
- 讓apache支援phpApachePHP
- 怎麼在JBoss中配置MySQL資料庫連線池讓Mysql支援中文MySql資料庫
- mysql替換特殊字元MySql字元
- dotnet 9 WPF 連字元渲染支援字元
- 讓ubuntu支援新浪微博Ubuntu
- 讓Dapper+SqlCE支援ntext資料型別和超過4000字元的儲存APPSQL資料型別字元
- mysql 字元函式小結MySql字元函式
- MySQL的跳脫字元“” (轉)MySql字元
- 讓Alfred支援拼音搜尋Alfred
- 如何讓 IIS 支援 HTTPSHTTP
- 讓VC++支援中文 (轉)C++
- 如何快速讓MySQL資料庫伺服器支援遠端連線MRMySql資料庫伺服器
- Java - XML字元支援報錯An invalid XML characterJavaXML字元
- 檢視修改mysql編碼方式讓它支援中文(gbk或者utf8)MySql
- MySQL 中字元編碼問題MySql字元
- MySQL用LIKE特殊字元搜尋MySql字元
- MySQL字元編碼設定方法MySql字元
- mysql字符集和字元排序MySql字元排序
- mysql字元型別varchar()比較MySql字元型別
- Mysql字符集與字元序MySql字元
- Oracle11g的SQL支援程式碼中全形字元代替半形字元OracleSQL字元
- MathJax: 讓前端支援數學公式前端公式
- 讓Nginx支援if多重判斷方法Nginx
- rhel 6.5讓KVM支援中文介面
- 讓 lighttpd 支援 wordpress clean urlhttpd
- DedeCMS讓channelartlist支援currentstyle屬性
- 改變一個字元讓Go程式快42%字元Go
- 配置typeAliasesPackage支援萬用字元包路徑掃描Package字元
- Mysql之新增innodb支援MySql
- mysql支援gbk(zt)MySql
- MySQL按指定字元合並及拆分MySql字元
- mysql字元轉化以及亂碼原因MySql字元
- MYSQL使用中字元編碼一坑MySql字元
- Mysql字元處理函式詳解MySql字元函式
- 讓Android支援Latex數學公式Android公式