gfr*_*ius 6 oracle coldfusion html5 encoding utf-8
我有一个一直使用Windows-1252的测试站点.他们确实需要/使用一些符号,如平方根符号.而且他们不需要用英语以外的其他语言显示.最近我被要求将其切换为UTF-8,因为存在一些安全问题.在我将其更改为UTF-8之后,平方根和其他符号(从Oracle DB中拉出并通过ColdFusion)在生成的网页上显示正常.但是,如果我再次保存文档(发布到DB,页面刷新),符号将转换为奇怪的字符.如果我再次保存,会出现更多奇怪的角色.所以...
我已经阅读了所有这些页面,仍然有点麻烦把握这一切.希望有人来帮我澄清一下.谢谢!
***更新***
到目前为止,我感谢所有帮助,使这更容易理解. 我将简化原来的3个问题,希望能够得到一个明确的答案,所以这里是:客户不需要支持其他语言,他们将使用一些HTML5标签和一些TON的JSON/XML流量回送来自jQuery.ajax().鉴于这些信息,从安全角度来看,保持数据库设置NLS_CHARACTERSET: WE8MSWIN1252和网页设置为<CFHEADER NAME="Content-Type" value="text/html; charset=windows-1252">?有什么不对吗?谢谢.
这是另一个问题,从这个问题略微分离出来:为什么我能够使用不属于字符集的字符(windows-1252)?.
Windows 1252 是众多固定大小字符集之一。Mac有自己的一套。欧洲不同地区和世界其他一些地区都有一些 ISO。其中大多数都有轻微的变化。
好处是你有一个固定大小的字符,这意味着无论如何 1 个字符 = 1 个字节。
不好的地方有:
其中包括您想要引用的任何内容。在 windows-1252 中你无法显示俄语、希腊语、波兰语......
UTF-8 是 1+ 字节的 unicode 表示的标准编码。它可以代表您可能遇到的绝大多数字符,尽管它是为基于拉丁语的语言设计的,因为其他语言需要更多的存储空间。
它用于 XML、JSON 以及您可能找到的大多数类型的 Web 服务。当您不知道要使用什么编码时,这是一个很好的默认值。它允许限制编码问题的数量,例如“我以为你使用的是Latin-1/不,我使用的是latin-9,但是Mac上的这个人使用了Roman”。如果您有超过 1 个人在处理网站内容,他们的平台上可能有不同的编码,因此您的内容在某些时候可能会混乱。
据我所知,UTF-8 是唯一可以轻松标准化人们之间无需讨论的编码的方法。
典型的例子是,如果你的网站是用 windows1252 编码的,而新开发人员有一台 Mac,你可能会遇到麻烦。