如何解决mysql中读取含表情符号的内容无法识别的问题

  当内容中包含有表情符号的时候,写入mysql时一般会设置字段或者表的charset为utf8mb4的形式:

 ALTER TABLE table_name MODIFY  colum_name  VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci

或者:

ALTER TABLE table_name CHARSET=utf8mb4;

那么在读取和写入相关数据时,也需要在执行语句前先执行:

SET NAMES utf8mb4

这样才能保证正确地把带表情符号的内容插入或者读取出来。否则就会出现读取的内容显示为“???”无法识别的问题。

原文地址:https://www.cnblogs.com/zichun-zeng/p/10213845.html

时间: 2024-08-01 16:48:04

如何解决mysql中读取含表情符号的内容无法识别的问题的相关文章

如何解决Mysql中忘记root密码的情况

方法一: MySQL提供跳过访问控制的命令行参数,通过在命令行以此命令启动MySQL服务器: safe_mysqld --skip-grant-tables& 即可跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入MySQL数据库. 需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会生效 方法二: 可以进行如下的步骤重新设置MySQL的root密码: 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码

解决mysql中无法显示中文的一个实例

1 登录数据库 amp1:~ # mysql -uroot -pmysql.rzrk Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 2132 Server version: 5.0.95-log SUSE MySQL RPM Type 'help;' or '\h' for help. Type '\c' to clear the current input statem

解决mysql中只能通过localhost访问不能通过ip访问的问题

Mysql 默认是没有开启这个权限的(只允许使用 host:localhost,或者 host:127.0.0.1),如果想用 host:192.168.1.* ,来访问mysql ,需要手动开启这个权限进入Mysql终端输入这个命令 1.打开cmd窗口,进入MySql安装的bin目录 2.执行命令登录数据库,之后会出现一行要你输入密码的 mysql -u root -p 3.执行以下命令分配新用户: grant all privileges on *.* to '用户名'@'IP地址' ide

解决mysql中limit和in不能同时使用的问题

先给出数据表 CREATE TABLE `test_tb_grade` ( `ID` int(10) NOT NULL AUTO_INCREMENT, `USER_NAME` varchar(20) DEFAULT NULL, `COURSE` varchar(20) DEFAULT NULL, `SCORE` float DEFAULT '0', PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8

【MySQL】如何解决MySQL中查询不区分大小写的问题

mysql查询默认是不区分大小写的 如: select * from some_table where str=‘abc'; select * from some_table where str='ABC'; 得到的结果是一样的,如果我们需要进行区分的话可以按照如下方法来做: 第一种方法:要让mysql查询区分大小写,可以: select * from some_table where binary str='abc' select * from some_table where binary

从Mysql中读取数据绑定Grid,然后在全部绑定sql

///获取Mysql里面的数据 protected void Button1_Click(object sender, EventArgs e) { ///实例化强类型的数据集 macs_20140707TableAdapter data = new macs_20140707TableAdapter(); DataTable ds= data.GetDataBySelect(); GridView1.DataSource = ds; GridView1.DataBind(); } #regio

解决UITableView中Cell重用机制导致内容出错的方法总结

UITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件.上面主要是一个个的 UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以在UITableViewCell中加入 UITextField或者UITextView等子视图,使得可以在cell上进行文字编辑. UITableView中的cell可以有很多,一般会通过重用cell来达到节省内存的目的:通过为每个cell指定一个重用标识符 (reuseIdentif

MySQL中的索引为什么使用B+树实现

一.前言 ??这几天在研究MySQL相关的内容,而MySQL中比较重要的一个内容就是索引.对MySQL索引有了解的应该都知道,B+树是MySQL索引实现的一个主要的数据结构.今天这篇博客就来简单介绍一下B树.B+树以及MySQL索引使用这种数据结构实现的原因. 二.正文 2.1 B树 ??关于B树的操作细节我这里就不详细介绍了,这里主要介绍一下B树的结构,让大家对B树有一个大致的了解. ??这里首先要纠正一个问题,网上大量文章将B树称为B-(减)树,但其实这是一种错误的叫法.会这么叫是因为B树的

MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题 收藏 MySQL中涉及的几个字符集

MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用的.character-set-database:数据库字符集.character-set-table:数据库表字符集.优先级依次增加.所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集.character-set-client:客户端的字符