2013-03-07 3 views
2

Я запрашиваю API MediaWiki, чтобы получить данные Википедии в моей базе данных Filemaker. Когда я загружаю данные в браузер, символы отображаются правильно, но когда дело доходит до Filemaker, символы с диакритикой преобразуются в эти нечетные символы: á преобразуется в √ ° (символ квадратного корня + символ степени), é преобразуется в √ © (символ квадратного корня + символ авторского права), í преобразуется в √ ≠ (символ квадратного корня + не равно символу) и многое другое. Какая кодировка символов? Спасибо!!Как декодировать эти символы? √ ° √ © √ ≠

+1

Похоже, UTF-8 неверно истолкован как Mac-Roman. – Joni

+0

Посмотрите на необработанные байты для этого символа, которые вы видите в MediaWiki, и сравните их с тем, что есть в Filemaker. Кроме того, ознакомьтесь с этой статьей, в которой рассказывается о различных способах написания символа 'é': https://dev.twitter.com/docs/counting-characters#Definition_of_a_Character –

ответ

0

Вы все правильно относитесь к неверно истолкованным символам, плагин Troi URL FMP, который я использовал для установки пользовательского агента FMP (в соответствии с требованиями API MediaWiki), отвечал за вытягивание искаженных символов. Решение заключалось в том, чтобы обойти плагин: скрипт FMP выполняет Applescript «make shell curl -A», чтобы установить API-интерфейс пользователя и API запросов и вернуть ответ в FMP, и все символы пройдут правильно!

1

Как @Joni предлагает в своем комментарии, это UTF-8 неверно истолкован как MacRoman. Letter á - C3 A1 (hex.) В UTF-8, а C3 - «√» в MacRoman, A1 - «°». Поэтому вы должны просто попытаться настроить программу на интерпретацию данных как UTF-8.