【问题标题】:fetching utf8mb4 data(emojies ) with java from MySQL使用 java 从 MySQL 获取 utf8mb4 数据(emojies)
【发布时间】:2016-03-03 08:48:23
【问题描述】:

enter image description here

在获取存储在 varchar(2000) 类型的表列中的表情符号时,其字符集为 utf8mb4 和 MySQL 数据库的排序规则 utf8mb4_unicode_ci,版本为 innodb_version 5.6.26-74.0,它显示为?在苹果的 ios ipad 应用程序中。

我用下面的 mysql sql 更改了存储表情符号(笑脸)的所有表的字符集和排序规则 ..

enter image description here

ALTER TABLE studentresponse
CONVERT TO CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;


ALTER TABLE observation
CONVERT TO CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

通过在互联网上搜索解决方案,我得到了类似的东西.. 你必须将连接编码设置为 utf8mb4 ,否则 MySQL 会将存储的 utf8mb4 数据转换为 utf8,

所以请帮我解决这个问题...

ALTER TABLE studentwadata
CONVERT TO CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

但在苹果 ipad 应用程序上显示为?对于从 ipad 输入并存储到 mysql 表中的所有笑脸?仅限。

【问题讨论】:

标签: mysql utf8mb4


【解决方案1】:

只换表是不够的。

客户端和服务器建立连接的时候,需要说一下chatter会在utf8mb4中。您首先 .jpg 显示它当前设置为仅 utf8。

你在用弹簧吗?

您可以在连接后执行SET NAMES utf8mb4 更改这些设置。

【讨论】:

  • 嗨 rick,我正在使用 java play hibernate 和 netty 服务器。
  • 在 Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collat​​ion%' 的地方显示全局变量;全部设置为 utf8mb4 并且其排序规则是 utf8mb4_unicode_ci 除了 character_set_filesystem= binary 和 character_set_system = utf8
  • 我的连接字符串是 db.default.url="jdbc:mysql://localhost:3306/dbname?zeroDateTimeBehavior=convertToNull" 是否需要更改连接字符串或persistent.xml文件
  • 在从 java 端执行查询时我必须执行 set names utf8mb4 或者我必须从 mySql 工作台执行它们
  • ?useUnicode=yes&characterEncoding=UTF-8 在 getConnection() 调用中。
猜你喜欢
  • 2015-07-29
  • 1970-01-01
  • 2020-09-03
  • 2012-08-16
  • 1970-01-01
  • 1970-01-01
  • 2011-09-16
  • 1970-01-01
  • 2015-11-12
相关资源
最近更新 更多