Можно ли предположить, что декодированные URI с процентной кодировкой превращаются в UTF-8?

RFC 3986 утверждает, что новую схему URI следует сначала закодировать в UTF-8, прежде чем кодировать в процентах. Однако это не относится к предыдущим версиям URI.

Можно ли предположить, что весь многобайтовый URI с процентной кодировкой превращается в строку в кодировке UTF-8 после передачи через urldecode () ?

Например, если содержимое $ _SERVER ['REQUEST_URI'] кодируется в процентах как таковой:

/b%C3%BCch/w%C3%B6rterb%C3%BCch

После того, как я передам эту строку в urldecode () , у меня должна получиться многобайтовая строка. Но как узнать, в какой кодировке находится строка? В приведенном выше примере это UTF-8, но безопасно ли всегда предполагать это?

Если это небезопасно предполагать, есть ли способ (кроме mb_detect_encoding ) для определения кодировки строка? Я проверил заголовки запросов, похоже, в них нет ничего полезного.

15
задан rickchristie 11 October 2011 в 07:14
поделиться