MySql JSON 数据类型未使用正确的编码

标签 mysql json

我正在尝试将 json 数据存储到 MySql 中具有 JSON 数据类型的列中。

这是表格:

    CREATE DATABASE `testutf8` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
USE testutf8;
CREATE TABLE t2(jdoc JSON, sdoc TEXT);
INSERT INTO t2 VALUES('{"key1":"value1", "key2":"value2", "å": "value3"}','{"key1":"value1", "key2":"value2", "å": "value3"}');
SELECT * FROM t2;

但是我得到这个结果:

jdoc:
{"Ã¥": "value3", "key1": "value1", "key2": "value2"}    
sdoc:
{"key1":"value1", "key2":"value2", "å": "value3"}

显然,JSON 数据类型的列没有正确编码字符。

我该如何解决这个问题?

提前致谢:)

最佳答案

IntelliJ 存在 JSON 数据类型的编码问题。

关于MySql JSON 数据类型未使用正确的编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41496942/

相关文章:

php - Laravel SQLSTATE[23000] : Integrity constraint violation: 1452 Cannot add or update a child row

javascript - 将字符串与嵌套对象进行比较

java - Json 类型不匹配

json - 试图比较任何?带字符串

javascript - 从刷新的 JSON 更新 img src

php - Laravel 时间戳

mysql - 如何使用 MySQL 从不确定数量的列和表中搜索和替换字符串?

mysql - 聚合函数在 ORDER BY 子句中可以做什么?

PHP:从数据库中获取 php 代码并仅在有条件的情况下在 php 文件中运行

java - Json 映射异常无法从 START_ARRAY token 中反序列化实例