在我使用的mysql插入请求中($text
由$_POST
发送,而MESSAGE
列为JSON格式):
$data = '{"mytext":".'$text'."}';
INSERT INTO xxxxx (MESSAGE) VALUES('$mytext');
我遇到了以下问题:
有些笑脸显示确定,但有些带有"?"
我在这里搜索了一个答案,发现必须在数据库,表格和列上设置utf8mb4。
问题是当我尝试以下内容时包含我注册的消息:
ALTER TABLE xxxxx CHANGE column_name column_name JSON CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
上述结果
您的SQL语法有错误;
我认为只能在Varchar()
列。
你对我如何使这项工作有任何想法吗?
谢谢
答案 0 :(得分:0)
有些笑脸显示确定,但有些带有"?"
首先找出引起问题的问题"问号"来自Trouble with UTF-8 characters; what I see is not what I stored
特别是:
SHOW CREATE TABLE
查看当前的内容。)进一步讨论,请提供
SHOW CREATE TABLE
之前,ALTER
。 (我怀疑VARCHAR
目前是CHARACTER SET utf8
。)手册说" MySQL使用utf8mb4字符集和utf8mb4_bin排序规则处理JSON上下文中使用的字符串。",我推断您不需要为数据类型{{1}指定字符集或排序规则}。