代码之家  ›  专栏  ›  技术社区  ›  Paddy Hallihan

在数据库中存储特殊字符,以便在站点上正确显示,并且仍然可以找到同名图像

  •  -1
  • Paddy Hallihan  · 技术社区  · 7 年前

    我将所有可用的国家/地区存储在数据库中,并在同一目录的文件夹中为每个国家/地区存储一个图像。

    但是,有些国家/地区有特殊字符,无法正确显示或无法找到图像。

    有关国家是:

    • 瑞典共和国

    我尝试对它们进行url编码,结果如下:%C4%8Cesk%C3%A1+Republica

    我需要一种方法来存储在数据库中的方式,使他们在网站上正确显示名称,并找到相同名称的图像。

    1 回复  |  直到 7 年前
        1
  •  1
  •   deceze    7 年前

    首先,请看 UTF-8 all the way through 为了让非ASCII字符在应用程序中正常工作,您需要正确执行所有操作。

    其次,在web上提供非ASCII文件名的文件很棘手。1) 您需要确保使用百分比编码对这些文件的所有URL进行编码,就像您已经做的那样。2) web服务器将获取该URL,将其解码为字节字符串,然后要求底层操作/文件系统查找具有该字符串名称的文件。这是一个棘手的部分:您不知道操作系统/文件系统使用什么字节字符串来准确表示该文件。您需要首先弄清楚这一点,然后对URL进行专门编码,以便它能够准确地解码为正确的字符串。

    当您移动到另一台服务器时,尤其是当您从Windows移动到*NIX或从*NIX移动到其他服务器时,您可以重新进行操作,因为这些系统的操作方式非常不同。