символ точки получил кодировку при кодировании URL-адреса с помощью coldfusion

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

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

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


person co2f2e    schedule 20.03.2012    source источник


Ответы (2)


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

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

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

person Walter Bax    schedule 27.04.2012

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

person Sharondio    schedule 27.04.2012