如何使用SQL向mysql中插入一个特定UNICODE码值的字符
来源:互联网 发布:黄金时时彩软件 编辑:程序博客网 时间:2024/05/16 05:18
这个字符无法通过输入法等方法输入,甚至可能根本无法在你的系统上正确显示,或者它压根就是一个不可见字符。那么如何把这样一个字符插入到数据库(数据库该字段的编码已经指定为utf8)呢?
----------------------
一种方法是借助编程语言。python、java、objective-c等编程语言都提供了使用code point来表达一个UNICODE字符的方法。
这里我们以希腊字母β来举例。这个字符的UNICODE code point是03B2,UTF-8编码是CE B2。在各种编程语言中可以方便地表达它:
Python:u'\u03b2'
Java: "\u03B2"
Objective-C: @"\u03B2"
在编程语言中直接产生想要的字符,然后传递到SQL中执行即可。
第二种方法是直接在mysql工具或者客户端的命令行进行。我们需要首先获得该字符的UTF-8编码。可以从一些在线工具中查得,如:
http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=03B2&mode=hex
可知β的UTF-8编码为CE B2。然后我们执行这样一条SQL(假设所用的数据库字符集编码是utf-8):
INSERT INTO my_tbl (my_col) VALUES (UNHEX('CEB2'));
就可以直接将β加入数据库了。
这里为了方便描述以可见字符β来举例。这些方法还可以处理不可见字符。如果只是处理可见字符,用功能齐全点的输入法就可以了。
如果需要输入的unicode字符属于BMP平面之外的(码点超出了FFFF的范围。这种字符使用UTF-8编码或者UTF-16编码都需要使用四个字节),那么可以在编程语言里使用它的UTF-16编码表示。
例如对字符U+1F51F(是数字10),它的UNICODE code point是1F51F,UTF-8编码是F0 9F 94 9F,UTF-16编码是D83D DD1F。在编程语言里可以这样表达它:
Python: u'\ud83d\udd1f'
而在SQL中,可以这样写(假设所用的数据库字符集编码是utf-8,并且支持BMP平面之外的unicode字符。对MySQL,必须选utf8mb4,不能用utf8):
INSERT INTO my_tbl (my_col) VALUES (UNHEX('F09F949F'));
0 0
- 如何使用SQL向mysql中插入一个特定UNICODE码值的字符
- SQL语句:如何向表中插入特殊字符?
- ms sql语句如何查到 一个字段中 特定字符的出现次数
- 向字符数组中插入一个字符
- 在SQL语句中使用参数向数据库中插入含特殊字符的数据
- 解决使用Pyodbc向MSSQL插入unicode字符乱码的问题
- 在一个字符串中搜索某个特定的字符值
- 如何向mysql中插入大量数据
- 使用正则表达式删除一个字符串中特定两个字符之间的所有字符
- 如何在SQL SERVER中只保留特定字符?
- 如何判断一个Unicode表示的字符为一个中文字
- SQL统计一个字段里某个特定字符的个数
- 【SQL】如何一次(一条SQL语句)向ORACLE中插入多组/多条数据,不同于mysql
- python网络爬虫-数据存储中如何改变mysql数据库的字符为unicode
- 一次向数据库中插入多条相同记录的SQL方法(只有一个列不同)
- 要代码 c#中如何向其中插入文件 sql数据库中有一个text类型数据
- 如何向SQL Server 2005中插入中文
- oracle用sql 语句如何向表中插入时间?
- 如何在MySQL的SQL语句中避免数据唯一性冲突
- mysql中update一张表多列时的次序问题
- java 参数传递 session等作用域中值得改变
- mysql中的utf8字符集与标准UTF-8的区别
- SSL TLS 学习之二:SSL与TLS的区别和介绍
- 如何使用SQL向mysql中插入一个特定UNICODE码值的字符
- ubuntu 启动android模拟器
- Unicode基础知识
- XDocument操作xml文件基本操作
- 【转载】理解MySQL——索引与优化
- 【转载】涉及民族关系的中英文词汇的再认识
- 胎儿、初生儿和成人的心脏器官与循环
- git的使用
- UIWebView的三种加载方式