Почему виджет linkedin на сайте .net отображает ненужные символы? - PullRequest
1 голос
/ 15 апреля 2019

У нас есть виджет кнопки «следуй за кнопкой» на сайте. Он работает, как и ожидалось, на английском языке, но когда мы выбираем местоположение машины (из панели управления) в Швеции и устанавливаем основной язык Google Chrome по умолчанию на «Svenksa», он отображает текст снежелательные символы 'Följ'.

Пытался установить кодировку, используя метатег, но это не сработало.

Используемые нами скрипты:

<script src="//platform.linkedin.com/in.js" type="text/javascript"></script>
<script type="IN/FollowCompany" data-counter="right" data-id="XXXXXX"></script>

На английском языке он отображаетнормальный «СЛЕДУЮЩИЙ», но в svenska он отображает «Följ»

1 Ответ

0 голосов
/ 16 апреля 2019

Когда я устанавливаю язык моего браузера на шведский и запускаю этот фрагмент, я вижу следующий ответ внутри iframe:

~$ curl -v 'https://www.linkedin.com/pages-extensions/FollowCompany?id=361557' -H 'accept-language: sv' 
…
> GET /pages-extensions/FollowCompany?id=361557&counter=right HTTP/2
> Host: www.linkedin.com
> User-Agent: curl/7.54.0
> Accept: */*
> accept-language: sv
…
< HTTP/2 200 
< content-type: text/html
…
<!DOCTYPE html><html><head>
…
<button class="follow-btn--no-count">Följ</button>
…

Так как заголовок content-type в ответе не указывает charset и нет элемента <meta> с набором символов, браузер использует значение по умолчанию Latin-1, но документ на самом деле имеет формат UTF-8.

(Мой терминал предполагает, что все в формате UTF-8 и поэтому напечатанFölj вместо Följ.)

В этом случае у вас нет обходного пути.Вы должны сообщить об ошибке.

...