Charset с Facebook SDK - PullRequest
       17

Charset с Facebook SDK

1 голос
/ 05 февраля 2012

Мне нужно было работать с Facebook SDK, поэтому с некоторой помощью я написал скрипт, который может найти информацию о человеке.Но если в его / ее имени есть диакритический знак, он будет искажен, я попытался установить кодировку в файлах SDK, но это не помогает.
Например, если имя Рене Бенеш, то это будет Рене Бенеш.
Можете ли вы помочь мне, пожалуйста?
Спасибо

Ответы [ 3 ]

1 голос
/ 05 февраля 2012

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

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

0 голосов
/ 14 марта 2014

Я уверен, что utf8_decode и / или utf8_encode будут отлично работать для вас.

0 голосов
/ 05 февраля 2012

1-й пример - PHP

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

$name = 'René Beneš';

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

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

Подробнее об этой функции можно узнать на официальном сайте PHP - str_replace () .

Кроме того, дополнительные сведения и HTML-коды о специальных символах доступны в Специальные символы в HTML .

2-й пример - HTML

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...