使用coldfusion显示mysql中的俄文数据

使用coldfusion显示mysql中的俄文数据,mysql,utf-8,coldfusion,Mysql,Utf 8,Coldfusion,我有一个mysql数据库,字符集设置为utf8,集合集设置为utf8\u general\u ci 我可以看到数据库里的俄语文本都很好 我添加了一个 在coldfusion页面中。如果我直接在cfm页面中键入俄语文本,它在浏览器中显示良好 但是,如果我使用cfquery拉入数据以在浏览器中显示它,它将显示不正确,即ÐŽÐ' 我的cfquery是一个非常简单的 <cfquery name="getStatic" datasource="#session.odbcname#"> SELE

我有一个mysql数据库,字符集设置为utf8,集合集设置为utf8\u general\u ci

我可以看到数据库里的俄语文本都很好

我添加了一个 在coldfusion页面中。如果我直接在cfm页面中键入俄语文本,它在浏览器中显示良好

但是,如果我使用cfquery拉入数据以在浏览器中显示它,它将显示不正确,即ÐŽÐ'

我的cfquery是一个非常简单的

<cfquery name="getStatic" datasource="#session.odbcname#">
SELECT  *
FROM    static_id
WHERE   static_displayname = 'home'
AND     static_status = 'online'
</cfquery>
然后使用cfoutput显示数据getStatic.data

有没有关于如何让数据正确显示的想法


谢谢

将此添加到页面顶部

<cfprocessingdirective pageencoding = "utf-8">
或者更好的方法是,如果您在每个页面上都需要它,将它添加到application.cfc的onRequest事件中

ÐŽÐ是ЎБ的“Mojibake”

在UTF-8中,十六进制为D08E D091。如果将其视为拉丁文1,则十六进制D0 8E D0 91表示ÐŽÐ’

但是,它也可以是双重编码,表中的十六进制是C390 C5BD C390 E28098。请选择HEXcol。。。看看你有什么

双重编码是一个无声的错误-通常一切正常,而存储的值是错误的

在“Mojibake”中查找要签入代码的内容列表

对于西里尔文,字符集utf8和utf8mb4的作用相同。它们的主要区别在于表情符号和汉语

我关于ColdFusion的简略笔记说

<cfprocessingdirective pageEncoding="utf-8">

<cffile
action="read"
file="#settings.csvfile#"
variable="autodata"
charset="utf-8">

啊。我数了数。我有45个第三方软件包的说明,比如ColdFusion。如果我对其中一个没有权威性的发言,请原谅。

嗯,投了反对票。如果匿名投票人愿意解释我的答案有什么问题,我很高兴听到。嗨,用户9263373,谢谢你的回答。遗憾的是,我尝试过使用cfprocessingdirective,但它只有在cfm页面上直接显示俄语文本时才有效。遗憾的是,当我从mySQL数据库中提取文本时,它不起作用。@elixireu明白了。现在我明白为什么我的答案不好了。。。很明显在你的帖子里,我没有看到,所以我很抱歉没有阅读就回答了。看看这个,因为它可能会有帮助这里还有另一个可能也会有帮助嗨,非常感谢用户9263373在这方面的帮助,很遗憾,我已经尝试了所有这些,但没有成功。我已经向托管公司发送了一条消息,查看mySQL是否存在问题,因为它都在utf-8mb4中。cfprocessingdirective不会影响动态查询。1是否尝试在dsn url中指定字符集?你说我有一个mysql数据库,是用。。。仔细检查实际的表和列是否继承了正确的设置。是否尝试了我上面的2个建议?如果您没有得到正确的输出,那么这些设置中的一个或多个可能不是您所认为的。。。如果还没有,请仔细检查列设置,首先从信息_SCHEMA.COLUMNS中选择*,其中TABLE_NAME='static_id'。您好,谢谢您的输入。可悲的是没有乐趣,我添加了各种连接字符串形式的建议链接和其他没有乐趣。我还使用字符集utf8和utf8mb4,以及utf8\u general\u ci和utf8mb4\u general\u ci的集合,在mySQL中创建了新表,遗憾的是没有乐趣-那很奇怪。。也许这是特定于托管环境的东西?我试过那些笑的设置。。。输出俄语文本也没问题。除了问你的主人,你在另一台机器上试过吗?很容易启动一个dev实例并在那里尝试它。Hi Ageax,非常感谢您的帮助,看起来您尝试另一台机器的想法很有效-看起来我使用的机器输入俄语文本很好,但是出于什么原因,它没有正确导入mySQL。即使是你,我也可以在mySQL客户端中查看俄语文本。