gpt4 book ai didi

coldfusion - 表情符号和 ColdFusion

转载 作者:行者123 更新时间:2023-12-04 21:30:40 31 4
gpt4 key购买 nike

我一直在玩这个问题一段时间了。我想要实现的是保存到MySQL数据库,然后输出到窗口,一般确认的表情符号如😀😁😂(是的,21世纪问题)

经过大量的修补和遵循本网站上的各种教程和答案之后,我设法实现了将它们保存到数据库的能力。

我以一个简单的自提交表单为例,以及一个配置为 UTF8mb4 的 MySQL 数据库。如果我将表情符号粘贴到 textarea 并点击提交,它确实会按原样保存到数据库表中。使用 phpmyadmin 查看时,它确实显示了按预期保存的测试表情符号。但是,当我使用 cfquery 从数据库中获取字符串并将其输出到窗口时,它会显示一个简单的“?”。

有任何想法吗?

额外的信息:
我的测试窗口顶部确实包含以下标签:

<cfset setEncoding("form","utf-8")> 
<cfcontent type="text/html; charset=utf-8">
<cfprocessingdirective pageencoding = "utf-8">

数据库连接字符串也有 allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8 ,这似乎有效,因为我可以成功插入表情符号。我错过了什么?

编辑 1

根据请求,以下是用于从数据库中选择包含表情符号的字符串并将其输出到窗口的代码:
<cfquery name="get_ci" datasource="test" username="#application.db_username#" password="#application.db_password#">
SELECT _string
FROM test_table
WHERE _id = 1
LIMIT 1
</cfquery>

<cfoutput>#get_ci._string#</cfoutput>

编辑2(解决方案)

经过深思熟虑,这里肯定有很多解决方案,至少对我有用。为了升级 MySQL 服务器以支持 UTF8mb4,我使用了本指南: https://mathiasbynens.be/notes/mysql-utf8mb4 (请注意,这是在开始此线程之前完成的方法,并不是所提出问题的解决方案)。但是,在技术人员的帮助下让它在我们托管的 VPS 上运行后,我成功地匹配了设置,答案如下:
该指南要求将 my.ini 的设置更新为以下内容:
[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

然而,握手和整理是导致整个操作失败的两个。我一评论他们,哇!因此,以防万一其他人在此问题上苦苦挣扎并求助于……尝试将这些设置注释掉,看看它是否有效。

使用应用注释更新了 my.ini:
[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
#character-set-client-handshake = FALSE
character-set-server = utf8mb4
#collation-server = utf8mb4_unicode_ci

最佳答案

解决方案:

经过深思熟虑,这里肯定有很多解决方案,至少对我有用。为了升级 MySQL 服务器以支持 UTF8mb4,我使用了本指南:https://mathiasbynens.be/notes/mysql-utf8mb4 (请注意,这是在开始此线程之前完成的方法,并不是所提出问题的解决方案)。但是,在技术人员的帮助下让它在我们托管的 VPS 上运行后,我成功地匹配了设置,答案如下:指南要求将 my.ini 的设置更新为以下内容:

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

然而,握手和整理是导致整个操作失败的两个。我一评论他们,哇!因此,以防万一其他人在此问题上苦苦挣扎并求助于……尝试将这些设置注释掉,看看它是否有效。

使用应用注释更新了 my.ini:
[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
#character-set-client-handshake = FALSE
character-set-server = utf8mb4
#collation-server = utf8mb4_unicode_ci

关于coldfusion - 表情符号和 ColdFusion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52863838/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com