0

我正在重写我们的一个表单,以便它可以处理国际域,但在我开始之前,我想我会测试处理 IDN 的能力。

我的想法是,如果有人输入像:http://清华大学.cn 这样的域,我会将其作为 punycode 存储在我的数据库中。考虑到这一点,我找到了 Java IDN 处理程序并编写了以下测试代码:

<cfset strUrl = "http://清华大学.cn" />
<cfoutput>
#strURL#
</cfoutput>     
<!--- Create a Java URL. --->
<cfset jUrl = CreateObject( "java", "java.net.IDN" ).toAscii(strUrl) />

<cfoutput>
#jURL#
</cfoutput>

然而,在运行这个我得到一个错误:

在输入中发现了一个禁止的代码点http://æ̧...å�žå¤§å¦

这发生.toAscii在线上。我错过了什么?

4

1 回答 1

0

<cfprocessingdirective pageencoding="utf-8">我在页面顶部添加了现在使用 Java IDN 正确编码和解码中文的页面。

我在评论部分找到了这个解决方案:

http://www.bennadel.com/blog/1155-Cleaning-High-Ascii-Values-For-Web-Safeness-In-ColdFusion.htm

于 2012-05-10T15:22:54.570 回答