我正在重寫我們的一個表單,以便它可以處理國際域名,但在我開始之前,我認爲我會測試處理IDN的功能。Coldfusion with Java 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>
然而,在運行此我得到一個錯誤:
A prohibited code point was found in the inputhttp://æ ̧...å�žå¤§å¦
這發生在.toAscii
線。我錯過了什麼?
豈不ASCII事實上禁止這些更高的字符集?沒有「toUtf8()」方法嗎? –
我不確定你在說什麼。你是否建議我在將字符串轉換爲ASCII之前需要轉換字符串? – Jarede
http://stackoverflow.com/questions/1510794/whats-the-proper-technical-term-for-high-ascii-characters – Sharondio