1

我们正在我们的网站上举办一场向国际社会开放的比赛。我们的一小部分用户是日本人,他们要求能够使用平假名在我们的网站上发表评论。

目前,他们的评论显示为字符串?????? 问号。

我们使用的是运行 IIS 7 和 Coldfusion 10 的 Win 2008 服务器。存储评论的数据库(也显示为??????问号)是 SQL Server 2012。

该站点当前使用 UTF-8 字符集:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

不确定我需要在哪里进行更改。D B?CF?视窗?IIS?网站代码?有任何想法吗?

我发现了其他类似的问题,但它们通常与 WordPress、Joomla 或完全是日语的网站有关。

谢谢!

4

2 回答 2

1

您可能声称您使用的是 UTF-8,但您真的是这样吗?如果您的数据库、字符串(可能需要告知编程语言将字符串作为 UTF-8 处理)和实际输出编码不是 UTF-8,那么您将无法获得正确的结果。

然后是字体问题;许多字符并未包含在每种字体中,因此不适用于很多计算机。

也尝试将这样的标题设置为实际标题。

于 2013-02-11T16:40:10.737 回答
0

排序规则与此无关,字体也没有(您的 unicode 数据正在进入数据库中)。所以...

您应该通过 JDBC 驱动程序之一而不是 ODBC 与您的数据库交谈。

您的数据库应该支持 unicode 并且您必须使用支持 unicode 的数据类型来保存数据(例如,对于 sql server,请使用“N”数据类型,如 Nvarchar 等)。

我假设您使用的是 cfqueryparam(毕竟它是面向用户的表单),因此您需要在 cfadmin 中为该数据源启用“启用高位 ASCII 字符”...选项(在高级菜单下)。

于 2013-02-11T17:26:03.207 回答