Исправить символы в PHP - PullRequest
       9

Исправить символы в PHP

3 голосов
/ 01 марта 2011

Кто-нибудь знает, что это и как это исправить? "OMG"

<p>After 32 years in its former location, this popular restaurant 
   and bar moved to the bottom of the Avalon Bay Luxury residential building 
   that's just a walk from Angel Stadium. Modern and welcoming, the expansive 
   space is where fans, locals and families gather for upscale twists on classic
   American dishes. Burgers here have a decidedly fun flair like “The OMG� 
   that is a burger surely meant for sharing (with many)--it's so huge that it's 
   served on a 14-inch bun. The restaurant also specializes in seafood with such 
   items as Chilean sea bass, mahi mahi and swordfish. The lounge also serves 
   signature drinks like  the Rally Monkey Martini in tribute to the mascot 
   of the Angels.</p>

Это кажется проблемой из-за функции, которую я должен выполнить для данных JSON, прежде чем расшифровать их, иначе не удастся декодировать JSON:

function safeJSON_chars($data) {
$aux = str_split($data); 
foreach($aux as $a) { 
    $a1 = urlencode($a); 
    $aa = explode("%", $a1); 
    foreach($aa as $v) { 
        if($v!="") { 
            if(hexdec($v)>127) { 
            $data = str_replace($a,"&#".hexdec($v).";",$data); 
            } 
        } 
    } 
} 
return $data;}

Ответы [ 5 ]

6 голосов
/ 01 марта 2011

Посмотрите на эту страницу

Unicode-дружественный PHP и MySQL

На этой странице вы найдете простое и понятное объяснение кодировки UTF-8 и способов ее применения на ваших веб-сайтах, а также некоторые практические примеры.

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

2 голосов
/ 01 марта 2011

В PHP вы можете установить кодировку страницы:

header("Content-type: text/html; charset=utf-8");
1 голос
/ 29 февраля 2012

Я нашел это полезным: str_replace () эквивалент для многобайтовой строки, например UTF-8

Тогда используйте это так:

$replace = array("&Scaron;");
$replace = array("&scaron;");
$search = array("Š"); 
$search = array("š");  

$queryText= mb_replace($search, $replace, $queryText);
1 голос
/ 01 марта 2011

Это будут кавычки Microsoft в Юникоде utf-8.

1 голос
/ 01 марта 2011

Возможно, ваш набор символов установлен на Latin1? Попробуйте использовать UTF-8 и посмотрите, исправит ли это.

...