【发布时间】:2019-10-18 06:24:53
【问题描述】:
我正在尝试使用 Lucee 将 UTF-8 字符插入 MySQL 表,但没有运气。
- 我已将 MySQL 表设置为使用 utf8mb4_unicode_ci,但也尝试了 utf8mb4_bin。
- 我已经尝试过启用和不启用“AddDefaultCharset UTF-8”的 Apache。
- 到数据库的连接字符串包括“characterEncoding=UTF-8”
- Lucee 配置在字符集设置中包含 UTF-8。
我运行的代码如下...
<cfset textValue = '???? Person Raising Hand'>
<cfdump var="#textValue#">
<cfquery name="insert">
INSERT INTO TEST_UTF8 (TestText)
VALUES ('#textValue#');
</cfquery>
转储工作正常并按原样显示,但插入返回以下错误...
“不正确的字符串值:'\xF0\x9F\x99\x8B P...' 列 'TestText' 在第 1 行”
我已经尝试通过 phpmyadmin 插入相同的字符串,它表明 MySQL 配置没问题。
【问题讨论】:
-
这可能是 Connector/J 的问题,而不是 Lucee 本身的问题。您使用的是哪个版本的连接器(即 MySQL 数据源扩展)?更多细节可能会有所帮助:dev.mysql.com/doc/connector-j/8.0/en/…
-
连接器版本为“MySQL Connector Java mysql-connector-java-5.1.38 (Revision: fe541c166cec739c74cc727c5da96c1028b4834a) (JDBC 4.0)”
标签: mysql utf-8 coldfusion utf8mb4 lucee