我正在创建一个静态HTML页面,以多种语言显示礼貌文本。我注意到,如果我将ウェブサイトのメンテナンスの下で
粘贴到Expression Blend中,那么该文本在代码中显示的内容相同。我认为这对兼容性有害,应该用适当的HTML实体代替。
我已经尝试了http://www.opinionatedgeek.com/DotNet/Tools/HTMLEncode/encode.aspx,但它返回了相同的日文文本。
答案 0 :(得分:2)
我认为这对兼容性有害,应该由适当的替换 HTML实体。
实际上恰恰相反,您的偏好应该是不使用html实体,而是正确地将文档编码声明为UTF-8并使用实际字符。有quite a few compelling reasons to do so,但真正的问题是为什么不使用它,因为它是一个得到广泛支持的标准?
其中一些要点have been summarised previously:
对于那些理解的人来说,UTF-8编码更容易阅读和编辑 字符意味着什么,知道如何键入它。
UTF-8编码与HTML实体编码一样难以理解 对于那些不了解他们的人,但他们有优势 渲染为特殊字符而不是难以理解的小数 或十六进制编码。
[例如]维基百科......实际上是通过文章和转换 字符实体为了它们对应的真实字符 用户友好性和可搜索性。
答案 1 :(得分:1)
只要您将网页标记为UTF-8,无论是在http标头还是元标记中,在网页中包含外来字符都应该不是问题。或者,您可以使用JavaScript中的encodeURI / decodeURI函数对这些字符串进行编码/解码
encodeURI('ウェブサイトのメンテナンスの下で')
//returns"%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9%E3%81%AE%E4%B8%8B%E3%81%A7"
decodeURI("%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9%E3%81%AE%E4%B8%8B%E3%81%A7")
//returns ウェブサイトのメンテナンスの下で
如果您正在寻找将一堆静态字符串转换为unicode字符的工具,您可以简单地使用网页开发者控制台(firebug for mozilla / firefox)中的encodeURI / decodeURI函数。希望这有帮助!
答案 2 :(得分:0)
HTML实体仅在您需要表示无法在保存文档的编码中表示的字符时才有用。例如,ASCII没有关于如何表示“€”的规范。如果要在ASCII编码的HTML文档中使用该字符,则必须将其编码为€
或根本不使用它。
如果您使用的文档字符编码可以代表您需要的所有字符,例如UTF-8,则不需要HTML实体。您只需要确保浏览器知道文档的编码方式,以便正确解释它。这实际上是更好的方法,因为它只是保持源代码可读。如果您可以简单地使用实际字符,那么想要使用HTML实体是没有意义的。
有关更多信息,请参阅http://kunststube.net/frontback。