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

Другие вопросы по тегам