2012-02-02 43 views
3

在许多不同的代码环境的官方文档中,我看到UTF-8表示为大写或小写,也可以带和不带短划线。有没有哪个地方可以使用哪一个?utf8与UTF-8对比UTF8与UTF-8有什么不​​同?

其中这些字符串被发现有些地方包括:

  • 在参考PHP手册到标题()的参数(HTTP报头)
  • PHP手册参考PHP函数参数
  • 的PHP手册参考内部配置
  • 参考配置的MySQL手册
  • Python 2代码编码声明
  • 猛砸地区配置
  • HTML meta标签
  • XML文档类型

回答

2

官方registry of encodings将名称定义为区分大小写,拼写为UTF-8(UTF8甚至不是有效的别名)。任何可以处理UTF-8的软件都不会识别UTF-8这个名字的可能性非常小。所以在所有地方,使用UTF-8而不是UTF8是很重要的。

由于名称不区分大小写,因此文档可能会使用任何套管。对他们施加大小限制的软件将被严重破坏,我不明白为什么会认为这种软件存在。文件中的变化并不意味着必须使用某些特定的字母框。

+1

“UTF8”在python'.encode()'中工作正常。所以在“所有地方”都不那么重要 – geoffspear 2012-02-02 18:44:13

+1

mySQL不接受带有短划线的“UTF-8”。它期望'utf8'(但不区分大小写) – 2012-02-02 22:36:52

+0

谢谢!这正是我需要知道的! – dotancohen 2012-02-02 22:40:36

8

这的确是非常不同的。一个地方只能接受一种形式;另一个地方只会接受另一个地方。

这里列出哪个是正确的,哪种情况不是一个好主意 - 这将是一个巨大而毫无意义的开放式清单。只要总是在相应的文件中查找哪些表格被接受用于特定的情况。

+1

这个答案让我难过。 – 2012-02-02 18:00:36

+0

@大卫为什么,到底?除了事实上它确实是一个边缘化的非建设性问题 - 这是我能想到的唯一答案。 – 2012-02-02 18:01:11

+0

谢谢。我确实看到有些地方需要一种形式,另一种形式需要另一种形式,而且大多数都是宽容的。我在了解非宽容地方时最感兴趣! – dotancohen 2012-02-02 18:13:35