我们正在我们的网站上举办一场向国际社会开放的比赛。我们的一小部分用户是日语,并要求能够使用平假名在我们的网站上发表评论。
目前,他们的评论显示为??????的字符串问号。
我们正在使用运行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或完全是日语的网站。
谢谢!
答案 0 :(得分:1)
你可能声称你使用的是UTF-8,但你真的吗?如果您的数据库,字符串(可能需要告诉编程语言将字符串作为UTF-8处理)和实际输出编码不是UTF-8,那么您将无法获得正确的结果。
然后是字体问题;许多字符不包含在每种字体中,因此在许多计算机上都不起作用。
还可以尝试将此标题设置为实际标题。
答案 1 :(得分:0)
整理与此无关。字体(你的unicode数据正在进入数据库)。所以...
你应该通过一个JDBC驱动程序而不是ODBC来与你的数据库通信。
你的数据库应该是unicode能力的&amp;您必须使用支持unicode的数据类型来保存数据(例如,对于sql server,使用“N”数据类型,如Nvarchar等)。
我假设您正在使用cfqueryparam(它毕竟是面向用户的表单),因此您需要在cfadmin中启用该数据源的“启用高位ASCII字符”...选项(在高级菜单下)。