我正在重写我们的一个表单,以便它可以处理国际域,但在我开始之前,我想我会测试处理 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
在线上。我错过了什么?