为什么.net网站上的linkedin小部件会呈现垃圾字符?

时间:2019-04-15 15:00:26

标签: c# google-chrome linkedin encode mojibake

我们在网站上有一个linkedin跟随按钮小部件,它可以按预期的英语语言工作,但是当我们选择机器的位置(从控制面板)到瑞典并将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>

在英语中,它呈现普通的“ FOLLOW”,而在svenska中,它呈现“Följ”

1 个答案:

答案 0 :(得分:0)

当我将浏览器的语言设置为瑞典语并运行该代码段时,我在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。)

在这种情况下,您没有解决方法。您应该提交一个错误。