代码之家  ›  专栏  ›  技术社区  ›  Ibrahim Azhar Armar

瓦查尔身上的斑点?

  •  1
  • Ibrahim Azhar Armar  · 技术社区  · 15 年前

    我正在开发一个博客,我的客户想在其中使用大量的图片,用于(文章、标题、广告等)。他几乎不想在那里看到任何文字,因为他想用阿拉伯语来开发博客,他对网络浏览器的任何支持字体都不满意,也不想采用eot,他每天都会更新博客(就像上传图片一样)。

    您认为我应该为它使用什么数据类型?blob还是varchar?

    PS:我用的是MySQL……

    查看以下站点 使用与我相同的概念 客户,虽然他们是竞争对手, 他们把图片用于链接、新闻 还是广告,还是网站 不是那么重吗……

    http://www.sahilonline.net/

    4 回复  |  直到 15 年前
        1
  •  3
  •   Pekka    15 年前

    更新 :我误解了您希望将文本存储为图像。以下建议用于存储 本地文本 ,而不是图像数据。我必须同意@col的观点,这是一个非常糟糕的主意-从性能角度考虑,在搜索引擎可见性(不会进行索引)、视觉或其他障碍、不同屏幕分辨率、移动设备等方面…虽然我可以理解,选择浏览器可用字体比选择我们的字体更不公平,但我会设法让客户远离这个想法。

    对于新项目,当然 VARCHAR TEXT / LONGTEXT 使用UTF-8字符集。

    主要原因是只有(var)char和text可以 fulltext search

    如何在数据库中存储数据与阿拉伯语字体支持或编码问题无关。UTF-8表可以毫无问题地存储阿拉伯语文本。

    关于编码问题的一些非常深入的基础读物,有乔尔·斯波斯基著名的 Unicode article .

    mySQL 5 String type overview

        2
  •  1
  •   Your Common Sense    15 年前

    blob代表“二进制对象”,varchar代表“可变字符数”,所以我认为答案是显而易见的。

    尽管我不能阻止自己发表评论:在数据库中保留博客标题作为图片是我一生中见过的最荒谬的解决方案。

        3
  •  0
  •   Am1rr3zA    15 年前

    您可以将图像或其他blob对象保存在目录层次结构中,只需将文件地址保存在数据库中,然后就可以对字段使用varchar或text!

    我建议使用此方法而不是保存blob对象

        4
  •  0
  •   Ashay    15 年前

    如果你使用blob会更好。当它以您插入的格式存储数据时,数据将按原样显示。也 VARCHAR 有一些限制。

    请不要像你所说的那样使用文本,“在那里几乎不需要任何文本”。最好将图像和任何Unicode格式的文本存储在数据类型blob中。

    只需注意您将为客户提供的用于输入数据的编辑器,它应该支持阿拉伯语。这些插件可用。