2012-02-05 6 views
1

Мне нужно было работать с Facebook SDK, поэтому с некоторой помощью я написал сценарий, который может найти информацию о человеке. Но если в его имени будет диакритический характер, он будет искажен, я попытался установить кодировку в файлах SDK, но это не поможет.
Например, если имя René Beneš, это будет RenĂ © BeneĹ.
Вы можете мне помочь?
СпасибоCharset with Facebook SDK

ответ

1

Я могу описать на уровне персонажей то, что здесь происходит - я надеюсь, что это поможет вам приблизиться к решению. Вы, по-видимому, получаете данные в кодировке UTF-8, но ваше программное обеспечение интерпретирует его как ISO-8859-2 (ISO Latin 2, «Восточноевропейское») кодирование. Например, буква «é» (U + 00E9) представляет собой два байта 0xC3 0xA9 в UTF-8. Если байты неправильно интерпретируются в соответствии с ISO-8859-2, то 0xC3 становится Ă, а 0xA9 становится ©.

Так что вы должны попытаться заставить ваше программное обеспечение читать и обрабатывать данные в UTF-8 или перекодировать его из UTF-8 в кодировку, которую вы используете.

+0

Да, я нашел проблему, как вы сказали, у меня есть данные в UTF-8, но на моей странице была кодировка windows-1250, когда я попытался изменить ее на utf-8, все было в порядке. Спасибо, мужик –

-2

1-ый пример - PHP

Я предлагаю вам использовать функцию PHP под названием str_replace():

$name = 'René Beneš'; 

$replace = array('é','š'); 
$replaced = array('e','s'); 

// output = Rene Benes 
echo str_replace($replace, $replaced, $name); 

Вы можете узнать больше о том, что функции на official PHP website - str_replace().

Кроме того, подробная информация и коды HTML о специальных символах доступны на Special Characters in HTML.

второй пример - HTML

Попробуйте заменить:

<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type" /> 

между <head></head> разделе.

+0

Да, я знаю об этой функции, но я знаю, что есть какой-то способ сделать это без нее, потому что много страниц, в том числе и у этой диакритики. –

0

Я уверен, что utf8_decode и/или utf8_encode отлично подойдут вам.