2013-05-03 1 views
2

Я пытаюсь использовать знак cent в моей программе ColdFusion. Кажется, это ascii 155. Функция Chr() интерпретирует только значения до 127, хотя в документации указано иное. Я нашел ключ в том, что мне, возможно, потребуется включить высокие символы ascii в администраторе ColdFusion, но я не мог найти место для этого. Этот код работает:ColdFusion chr() не работает с высокими номерами ascii

<cfset x = Chr(127)> 
<cfoutput> this is what you get with #x# </cfoutput> 

Я получаю красивую коробку. Но это возвращает только пробел:

<cfset x = Chr(155)> 
<cfoutput> this is what you get with #x# </cfoutput> 

Как получить Chr() для работы с более высокими номерами?

ответ

2

«Знак цента» - ¢, который является chr(162) (который отлично работает) или &cent; как объект HTML.

Если вы хотите использовать символ , используйте chr(8250) или &rsaquo;.

2

Похоже, что стандартная американская версия ascii chr, к которой мы все привыкли, и нумерация номеров coldfusion не совпадают. Согласно LiveDocs (версия 8)

ColdFusion MX: Изменена поддержка Unicode: ColdFusion поддерживает представление Java UCS-2 символов Unicode, до значения 65535 (Предыдущие версии поддерживается 1-255).

Если вы посмотрите здесь, в этом блоге показаны некоторые из CF и HTML equiv ... так что вы можете найти некоторые из них более легко.

Из интереса, я сделал простую петлю и думал, что просмотрю их, и есть много символов ... сложная часть находит правильный. 162 - это процент, как указано в другом ответе, но это может помочь объяснить, почему.

<cfoutput> 
<cfloop index="i" from="1" to="10000"> 
<pre>Chr #i# = #chr(i)#</pre> 
</cfloop> 
</cfoutput> 

Java UCS-2 имеет множество странных символов, как вы можете видеть здесь.

Некоторые Пример вывода: Chr 2922 = ୪ Chr 2923 = ୫ Chr 2924 = ୬ Chr 2925 = ୭ Chr 2926 = ୮ Chr 2927 = ୯ Chr 2928 = ୰ Chr 2929 = ୱ Chr 3207 = ಇ Chr 3208 = ಈ Chr 3209 = ಉ Chr= ಊ Chr 3211 = ಋ Chr 3212 = ಌ