[MySQL]如何支持utf8格式的UCS4unicode字符
filed中必须是CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
连接时必须set names "utf8mb4";
这是一段PHP示例
<?php
//$emoji_1 = "?????2\x7a\xc3\x9f\xe6\xb0\xb4\xf0\x9f\x8d\x8c";
//$emoji_1 = "zß\u6c34\U0001f34c";
$emoji_1 = "\xf0\x9f\x8d\x8c";
$dbh = new PDO( 'mysql:host=localhost;dbname=test', 'root', '' );
$dbh->exec(' set names "utf8mb4" ');
$tablename = "test_9"; if($_GET['show'] == 1){
$query = 'select * from `'.$tablename.'` where `id` = ?'; $stm = $dbh->prepare($query);
$stm->bindValue(1, $_GET['id'], PDO :: PARAM_INT );
$stm->execute();
while($row = $stm->fetch( PDO :: FETCH_ASSOC )){
var_dump($row);
}
}else{
$query = 'insert into `'.$tablename.'` (`name`, `a`)values(?, ?)';
var_dump(strlen($emoji_1));
$stm = $dbh->prepare($query);
$stm->bindParam(1, $emoji_1, PDO :: PARAM_STR, strlen($emoji_1));
$stm->bindValue(2, 3, PDO :: PARAM_INT );
if(!$stm -> execute ()){
var_dump($stm -> errorInfo ());
}else{
echo "okay.\n";
}
}
附:
MySql中可以用UNHEX(FF...)插入HEX值,HEX值不会经过处理直接,写入内容。例如插入一个UTF8字符,输入的是这个字符的UTF8编码,而不是unicode编码
INSERT INTO my_tbl (my_col) VALUES (UNHEX('F09F949F'));
[MySQL]如何支持utf8格式的UCS4unicode字符的更多相关文章
- mysql修改为utf8格式
1.修改相应数据库的编码格式: -- 修改数据库编码为utf8 ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ ...
- php截取字符串的实例代码(支持utf-8)
分享下php中截取字符串的例子,支持utf-8格式. 1,截取字符串 <?php $string="2006年4月我又长大了一岁!"; echo substr($string ...
- MySQL 日志之 binlog 格式 → 关于 MySQL 默认隔离级别的探讨
开心一刻 产品还没测试直接投入生产时,这尼玛... 背景问题 在讲 binlog 之前,我们先来回顾下主流关系型数据库的默认隔离级别,是默认隔离级别,不是事务有哪几种隔离级别,别会错题意了 1.Ora ...
- 关于 MySQL UTF8 编码下生僻字符插入失败/假死问题的分析
原文:http://my.oschina.net/leejun2005/blog/343353 目录[-] 1.问题:mysql 遇到某些中文插入异常 2.原因:此 utf8 非彼 utf8 3.解决 ...
- 字符截取 支持UTF8/GBK
); $n = $tn = $noc = ; || $t == || ( <= $t && $t <= )) { ...
- MySQL创建数据库[保存mojo格式的数据库]已经常用的utf8格式数据库
一.创建最新编码utf8mb4格式的库: CREATE DATABASE IF NOT EXISTS yourdbname CHARACTER SET utf8mb4 COLLATE utf8mb4_ ...
- 在mysql 中使用utf8的问题
在MapReducer插入mysql 遇到了 Incorrect string value: '\xF0\x9F\x98\xAD",...' for column 'commentConte ...
- 【记录】mysql中建表utf8和utf8mb4区别?timestamp和datetime区别?
mysql中建表utf8和utf8mb4区别? 1:utf8 是 Mysql 中的一种字符集,只支持最长三个字节的 UTF-8字符,也就是 Unicode 中的基本多文本平面 2:要在 Mysql 中 ...
- linux 设置mysql 数据库编码utf8
转载地址http://www.linuxidc.com/Linux/2015-08/121676.htm在MySQL数据库中, 当插入数据无法支持中文时, 可将该数据库的编码集设置为utf8, 故在创 ...
随机推荐
- web 应用常见安全漏洞
1. SQL 注入 SQL 注入就是通过给 web 应用接口传入一些特殊字符,达到欺骗服务器执行恶意的 SQL 命令. SQL 注入漏洞属于后端的范畴,但前端也可做体验上的优化. 原因 当使用外部不可 ...
- php函数 array_count_values
(PHP 4, PHP 5, PHP 7) array_count_values — 统计数组中所有的值 array_count_values ( array $array ) : array arr ...
- python爬取某站上海租房图片
前言 对于一个net开发这爬虫真真的以前没有写过.这段时间开始学习python爬虫,今天周末无聊写了一段代码爬取上海租房图片,其实很简短就是利用爬虫的第三方库Requests与BeautifulSou ...
- MonkeyRunner 综合实践
综合实践 测试场景 连接设备,自动安装并启动考研帮app 启动后登录账号(账号zxw1234 密码:zxw123456),然后截图并保存到指定文件位置. 思路分析 连接设备 安装app 启动app 输 ...
- 洛谷P1122最大子树和题解
题目 一道比较好想的树形\(DP\) 完全可以用树形DP的基本思路,递归,然后取最优的方法. \(Code\) #include <iostream> #include <cstri ...
- [GoogleBlog]new-approach-to-china
https://googleblog.blogspot.com/2010/01/new-approach-to-china.html
- Kafka运行一段时间报错Too many open files
Kafka运行一段时间报错Too many open files 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.kafka运行一段时间报错 1>.我最近把kafka集群 ...
- 转载skbbuf整理笔记
1.http://blog.csdn.net/yuzhihui_no1/article/details/38666589 2.http://blog.csdn.net/yuzhihui_no1/art ...
- C++编译/运行过程中产生的各种文件
参考:https://blog.csdn.net/weixin_39609623/article/details/82348576 Windows中的obj,lib,dll,exe文件 lib是和dl ...
- 《B2C商城》电商平台搭建流程分析
商城网站建设在当今互联网时代中是非常重要的.商城网站,是企业产品展示.品牌宣传与消费者互动交流的一个平台,利用好这样的一个平台,就能占得先机.那么问题来了,商城网站如何建设呢?这对于企业来说真的是一个 ...