0

我正在为我的网站集成 yahoo 开放 ID。我的网站运行不同的语言(en、jp、cn 等)。当我尝试使用 yahoo opend ID 从英文网站登录时,它很好,但是当我从日文或中文网站尝试相同时,它不会将我重定向到 yahoo open id 登录。

每次我从 javascript 收到以下错误

错误:未声明纯文本文档的字符编码。如果文档包含 US-ASCII 范围之外的字符,则文档将在某些浏览器配置中呈现乱码。文件的字符编码需要在传输协议中声明或文件需要使用字节顺序标记作为编码签名。源文件: http ://uatstorefrontjpcr.mobi-book.com/ReturnFromSocial/LogOnYahoo 线路:0

任何人都可以建议做什么。

为此,我使用了 SocialAuth-net.dll。我已经在 web.config 中设置了所有必需的包装器。Google 和 facebook 开放 ID 可以使用相同的编码。

4

1 回答 1

0

您的 Web 服务器可能正在发回一个带有Content-Type. text/plain当 Web 浏览器收到具有该内容类型的响应时,它不知道应该使用什么编码来解码它;由于您还没有告诉它如何解码,因此不同的浏览器可能会选择不同的方式。

解决方案是提供显式编码。例如,如果您知道文本是 UTF-8 编码的,那么您可以在标头中提供它,如下所示:

Content-Type: text/plain; charset=UTF-8

根据W3C的信息页面,您可以让 ASP.Net 使用Response.ContentEncoding. 再次以 UTF-8 为例,您可以这样设置:

Response.ContentEncoding = Encoding.UTF8;
于 2013-07-07T03:40:13.517 回答