Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么';不是所有东西都默认为UTF-8吗?_Python_Mysql_Ruby_Utf 8 - Fatal编程技术网

Python 为什么';不是所有东西都默认为UTF-8吗?

Python 为什么';不是所有东西都默认为UTF-8吗?,python,mysql,ruby,utf-8,Python,Mysql,Ruby,Utf 8,我只是好奇,有一些现代系统默认使用UTF-8以外的东西。我在mysql系统可以使用不同编码的多个位置上放置了一整天的person块。非常令人沮丧 有没有什么好的理由不使用utf-8作为默认值(存储空间似乎不是一个好的理由)?不想争论,只是好奇 thx一些编码有不同的字节顺序(小端和大端)从前,没有unicode或UTF-8,全世界都在使用不同的编码方案 直到1988年,最初的unicode方案才发布,其目标是用一种通用的编码方式对世界上所有的字符进行编码 1991年的第一个版本涵盖了许多字符表示

我只是好奇,有一些现代系统默认使用UTF-8以外的东西。我在mysql系统可以使用不同编码的多个位置上放置了一整天的person块。非常令人沮丧

有没有什么好的理由不使用utf-8作为默认值(存储空间似乎不是一个好的理由)?不想争论,只是好奇


thx

一些编码有不同的字节顺序(小端和大端)

从前,没有unicode或UTF-8,全世界都在使用不同的编码方案

直到1988年,最初的unicode方案才发布,其目标是用一种通用的编码方式对世界上所有的字符进行编码

1991年的第一个版本涵盖了许多字符表示,但是直到2006年才添加了巴厘语、楔形文字、N'Ko语、Phags pa和腓尼基语


在此之前,腓尼基人和其他人无法用UTF-8表示他们的语言,这激怒了许多程序员,他们想知道为什么一切都不只是默认为UTF-8。

主要是因为许多“现代”系统实际上并不现代(或者至少已经存在了一段时间),因此,我不是说“不支持”其他编码,但似乎如果一切都设置为utf-8,很多麻烦都可以避免。我知道切换默认值的痛苦(比如mysql),但我真的有点不明白。切换默认值是一个巨大的痛苦。嗯。。。。所以当我说系统时,我的想法就像mysql或与web应用程序集成的mysql。似乎如果一切都是utf-8,很多头痛就会消失。我认识一些聪明的人,他们被错误的编码咬伤了。我不想争论-只是好奇是否有一个很好的理由。这应该是在程序员中。stackexchange.comUTF8标准化字节顺序。。。这是如何回答这个问题的?因为有些系统可能不使用标准的字节排序。您可能需要使用不同的编码来支持该系统的字节顺序。UTF-8中的wrt BOM:“…UTF-8可以包含BOM。但是,它对字节流的结尾没有区别。”因此,BOM参数可能对UTF-16有效,但UTF-16通常不能与ASCII互换。UTF-16不能与ASCII互换,也不能“一般”不兼容。根据定义,ASCII是7位的,所以每个字符一个字节,句号。1991年是21年前,考虑到您所提到的文化,我怀疑这些文化是否(或曾经,或将来)是计算机/软件的一个足够大的市场,足以阻止在20年内(对世界其他地区)以更合理的方式进行默认切换。这是一个相当薄弱的原因。迁移需要时间,仅仅因为unicode的第一个版本是在1991年,并不意味着它立即被采用,而且还没有完全被采用,这就是为什么我们仍然存在这些编码问题。很多现有数据仍然是unicode以外的编码。然后解释一下,而不是漫无目的地讨论一些与你显然打算给出的答案几乎无关的问题。这其中的乐趣何在?