Точечный символ закодирован при кодировании URL с помощью coldfusion - PullRequest
0 голосов
/ 20 марта 2012

Привет, используя этот фрагмент кода для кодирования URL-адреса coldfusion

dataURL=<cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#URLEncodedFormat(form.FLV_FILE_7,'UTF-8')#" maxlength="255">,

, и он также кодирует символ точки, и это приводит к другому URL-адресу при генерации подписи для конкретного имени URL-адреса.У кого-нибудь есть идеи по этому поводу?Есть ли способ опустить символ точки и сделать urlEncode?

Ответы [ 2 ]

1 голос
/ 27 апреля 2012

Вы также можете вызвать его как URLEncodedFormat (форма ['FLV_FILE_7'], 'UTF-8') и избежать точки вместе.

1 голос
/ 27 апреля 2012

Это нормально, так как в документе упоминается, что URLEncodedFormat заменяет все не алфавитно-цифровые символы эквивалентными шестнадцатеричными escape-последовательностями.

если вы не хотите преобразовывать точки, вы можете выборочно восстановить их, обернув их снова #Replace (URLEncodedFormat (form.FLV_FILE_7, 'UTF-8'), '% 2E', '.', 'ALL «) #

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

...