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字符的更多相关文章

  1. mysql修改为utf8格式

    1.修改相应数据库的编码格式: -- 修改数据库编码为utf8 ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ ...

  2. php截取字符串的实例代码(支持utf-8)

    分享下php中截取字符串的例子,支持utf-8格式. 1,截取字符串 <?php $string="2006年4月我又长大了一岁!"; echo substr($string ...

  3. MySQL 日志之 binlog 格式 → 关于 MySQL 默认隔离级别的探讨

    开心一刻 产品还没测试直接投入生产时,这尼玛... 背景问题 在讲 binlog 之前,我们先来回顾下主流关系型数据库的默认隔离级别,是默认隔离级别,不是事务有哪几种隔离级别,别会错题意了 1.Ora ...

  4. 关于 MySQL UTF8 编码下生僻字符插入失败/假死问题的分析

    原文:http://my.oschina.net/leejun2005/blog/343353 目录[-] 1.问题:mysql 遇到某些中文插入异常 2.原因:此 utf8 非彼 utf8 3.解决 ...

  5. 字符截取 支持UTF8/GBK

    );         $n = $tn = $noc = ;          || $t ==  || ( <= $t && $t <= )) {             ...

  6. MySQL创建数据库[保存mojo格式的数据库]已经常用的utf8格式数据库

    一.创建最新编码utf8mb4格式的库: CREATE DATABASE IF NOT EXISTS yourdbname CHARACTER SET utf8mb4 COLLATE utf8mb4_ ...

  7. 在mysql 中使用utf8的问题

    在MapReducer插入mysql 遇到了 Incorrect string value: '\xF0\x9F\x98\xAD",...' for column 'commentConte ...

  8. 【记录】mysql中建表utf8和utf8mb4区别?timestamp和datetime区别?

    mysql中建表utf8和utf8mb4区别? 1:utf8 是 Mysql 中的一种字符集,只支持最长三个字节的 UTF-8字符,也就是 Unicode 中的基本多文本平面 2:要在 Mysql 中 ...

  9. linux 设置mysql 数据库编码utf8

    转载地址http://www.linuxidc.com/Linux/2015-08/121676.htm在MySQL数据库中, 当插入数据无法支持中文时, 可将该数据库的编码集设置为utf8, 故在创 ...

随机推荐

  1. 解决android studio引用远程仓库下载慢(JCenter下载慢)

    使用开源中国的maven库 阿里云的(速度飞快):http://maven.aliyun.com/nexus/content/groups/public/ 替换项目根目录下build.gradle中的 ...

  2. Jmeter二次开发代码(3)

    package org.apache.jmeter.functions; import java.io.FileInputStream;import java.io.FileNotFoundExcep ...

  3. [转]html5监听任何App自带返回键javascript事件

    1.前言 如今h5新特性.新标签.新规范等有很多,而且正在不断完善中,各大浏览器商对它们的支持,也是相当给力.作为前端程序员,我觉得我们还是有必要积极关注并勇敢地加以实践.接下来我将和各位分享一个特别 ...

  4. 2019-04-09 SpringBoot+Druid+MyBatis+Atomikos 的多数据源配置

    前面部分是网上找的,我按照网上写的把自己搭建的过程展示一次 1.引入依赖 目前项目本来使用到了Mybatis plus(在自己的Mapper接口中继承BaseMapper获得基本的CRUD,而不需要增 ...

  5. es6中常用方法

    查询数组中是否包含了某个元素keyword arr.includes(keyword)

  6. icpc 南昌邀请赛网络赛 Subsequence

    题目链接:https://nanti.jisuanke.com/t/38232 就是判断输入是不是子序列 没想到贡献了将近十几次罚时..........可以说是菜的真实了 用cin cout超时了 改 ...

  7. springdata jpa查询用like时候需要输入该属性的类型字节码

  8. Frame Interpolation

    对于视频网站.电视厂商以及进行视频压制的用户来说,改变视频的帧率算是一个比较常见的需求.视频网站改变帧率主要是为了向不同级别的网站用户提供差异化服务:电视厂商则是以提供更好的显示效果作为电视的卖点:对 ...

  9. 洛谷P1512伊甸园的日历游戏题解

    题目 因为可能要参加qbxt的数论考试,所以最近要开始猛刷数论题了. 这是第一道,不过看样子并不想数论题啊,只是一个博弈论. 思路 一位著名老师说过,数学就是转化和化简,所以先考虑化简,先考虑化简年份 ...

  10. openflow packet_out和packet_in分析

    任务目的 1. 掌握OpenFlow交换机发送Packet-in消息过程及其消息格式. 2. 掌握OpenFlow控制器发送Packet-out消息过程及其消息格式. 实验原理 Packet-In 使 ...