0
영어로 제공되지 않는 AJAX로 게시물을 제출하면 %u4F60%u662F%u5982%u4F55%u505A%uFF1F
과 비슷한 것을 얻을 수 있습니다. PHP로 해결할 수있는 방법은 무엇입니까? 나는 utf8_decode
을 시도했지만 작동하지 않습니다.텍스트 코드 (PHP, languages)
도움이되는 경우 AJAX로 텍스트를 제출합니다.
영어로 제공되지 않는 AJAX로 게시물을 제출하면 %u4F60%u662F%u5982%u4F55%u505A%uFF1F
과 비슷한 것을 얻을 수 있습니다. PHP로 해결할 수있는 방법은 무엇입니까? 나는 utf8_decode
을 시도했지만 작동하지 않습니다.텍스트 코드 (PHP, languages)
도움이되는 경우 AJAX로 텍스트를 제출합니다.
원하는대로 할 수 있습니까?
<?php
function utf8_urldecode ($str) {
return urldecode(preg_replace_callback('/%u([0-9A-F]{4,6})/i', function($matches) {
$int = hexdec($matches[1]);
switch (TRUE) {
case $int < 0x80:
return pack('C*', $int & 0x7F);
case $int < 0x0800:
return pack('C*', (($int & 0x07C0) >> 6) | 0xC0, ($int & 0x3F) | 0x80);
case $int < 0x010000:
return pack('C*', (($int & 0xF000) >> 12) | 0xE0, (($int & 0x0FC0) >> 6) | 0x80, ($int & 0x3F) | 0x80);
case $int < 0x110000:
return pack('C*', (($int & 0x1C0000) >> 18) | 0xF0, (($int & 0x03F000) >> 12) | 0x80, (($int & 0x0FC0) >> 6) | 0x80, ($int & 0x3F) | 0x80);
default:
return $matches[0];
}
}, $str));
}
$str = "%u4F60%u662F%u5982%u4F55%u505A%uFF1F";
echo utf8_urldecode($str);
나는 전에 바이너리 진수 UTF-8 코드 포인트를 변환 시도하지 당신이 주위에 당신의 머리를 얻을 때 실제로 아주 쉽게 밝혀 적이 없다. 물론 캐릭터가 실제로 무엇인지에 따라 브라우저에서 여전히 난센스로 표시 될 수 있습니다. 올바르게 렌더링하려면 언어 팩을 설치해야 할 수도 있습니다.
출력 문서에서 정의 된 문자 집합은 무엇입니까? 변경해야 할 수도 있습니다. –
저는 iso-8859-1을 사용하고 있습니다. 그리고 롤, 나는 그것을 올렸을 때 생각하지 않았습니다. – Jake
'$ thing = new Thing; $ thing-> do_some_stuff();' –