【问题标题】:Special Characters in json filejson文件中的特殊字符
【发布时间】:2015-07-13 01:33:30
【问题描述】:

所以我正在尝试谷歌添加到home screen 功能,我正在尝试让我的网络应用程序的标题在其中显示一个特殊字符,但不知道如何。

{
  "name": "aésmé",
  "icons": [
    {
      "src": "img/icon.png",
      "sizes": "192x192",
      "type": "image/png",
      "density": "4.0"
    }
  ],
  "start_url": "index.php",
  "display": "standalone",
  "orientation": "portrait"
}

【问题讨论】:

  • 使用什么字符编码来提供清单文件?就此而言,您的服务器设置为报告该文件的 MIME 类型是什么?
  • 没有编码json文件只是一个静态文件。它被称为
  • “名称”是图标添加到主屏幕时的名称,但由于有特殊字符,所以它是空白的。
  • 是的,但是当浏览器跟随链接时,它正在从服务器检索文件。问题是,如何配置服务器以提供.json 文件?
  • GET /manifest.json HTTP/1.1 主机:连接:keep-alive 接受:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp, /;q=0.8 用户代理:Mozilla/5.0(Windows NT 6.1;Win64;x64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/42.0.2311.135 Safari/537.36 DNT:1 接受编码:gzip , deflate, sdch Accept-Language: en-US,en;q=0.8

标签: android json google-chrome web-applications homescreen


【解决方案1】:

它可以是以下两种之一: 1. 你搞砸了 utf8 转换。您要么没有转换,要么更糟糕的是,两次使用奇怪的字符进行测试。 2. 如果您需要使用特殊字符,请考虑使用 base64,尽管它会使文本在文本编辑器中无法读取。

【讨论】:

    【解决方案2】:

    我怀疑这是一个字符集问题。确保保存文件的编码与服务器在提供文件时报告的编码相匹配。如果您使用的是 Apache 并且已将文件保存为 UTF-8(强烈推荐),则将以下内容添加到您的 .htaccess 文件(或服务器配置文件,如果您可以访问的话):

    AddType 'application/json; charset=UTF-8' .json
    

    添加也无妨:

    AddDefaultCharset utf-8
    

    请注意,理论上(根据application/json spec),您必须对文件使用某种 Unicode 编码(UTF-8、UTF-16(BE 或 LE)或 UTF -32(BE 或 LE))。确保您已将文件保存为其中一种编码。此外,默认字符集(未指定字符集时浏览器使用的字符集)是 UTF-8。但是,浏览器与此有很大不同。

    【讨论】:

    • 没有同样的东西。当使用特殊字符时,它默认为页面的标题,这很有趣,因为 chrome 会读取 中的特殊字符,它们是 html 标签 é
    • @Darkrum - 您确定清单文件以 UTF-8 格式保存吗?
    • 谢谢,这是因为文件由于某种原因没有保存为 utf-8 不知道为什么我所有的其他文件都是 utf-8 只是不是那个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多