Coldfusion с Java IDN для обработки международных доменов
Я переписываю одну из наших форм, чтобы она могла обрабатывать международные домены, но перед тем, как начать, я подумал, что протестирую возможности обработки имен 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
линия. Что я пропустил?
1 ответ
Я добавил <cfprocessingdirective pageencoding="utf-8">
в начало моей страницы, которая теперь правильно кодирует и декодирует китайский язык, используя Java IDN.
Я нашел это решение здесь в разделе комментариев:
http://www.bennadel.com/blog/1155-Cleaning-High-Ascii-Values-For-Web-Safeness-In-ColdFusion.htm