MySQL 中支持 emoji 表情的存储 ThinkPHP

MySQL 的 utf8 编码的一个字符最多 3 个字节,但是一个 emoji 表情为 4 个字节,所以 utf8 不支持存储 emoji 表情。但是 utf8 的超集 utf8mb4 一个字符最多能有 4 字节,所以能支持 emoji 表情的存储。下面介绍了关于如何修改 mysql 数据库的编码格式变为 utf8mb4 的具体方法。

找到 /etc/ 路径下的 my.cnf 文件(或 /etc/mysql/ 路径下),通过 vim 命令 vim /etc/my.cnf 打开该文件并进行编辑,需添加如下所示配置:

[client]
default-character-set=utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=’SET NAMES utf8mb4'

[mysql]
default-character-set=utf8mb4

UTF8_[……]

Read more

thinkphp 3.2 使用 PHPQRCODE 生成二维码 找不到 QRcode 问题

按网上的教程一直出现找不到 QRcode 问题, 按下面的结构和代码写就可以了

public function qrcode($url='http://blog.liuguofeng.com/',$level=3,$size=4){
  Vendor('phpqrcode.phpqrcode');
  $errorCorrectionLevel =intval($level) ;//容错级别
  $matrixPointSize = intval($size);//生成图片大小
  //生成二维码图片
  //echo $_SERVER['REQUEST_URI'];
  $object = new \QRcode();
  $object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2);
}

UTF8_[……]

Read more