Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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
Mysql 如果可能,使用ISO-8859-1而不是UTF-8是否明显更好?_Mysql_Utf 8_Character Encoding_Storage - Fatal编程技术网

Mysql 如果可能,使用ISO-8859-1而不是UTF-8是否明显更好?

Mysql 如果可能,使用ISO-8859-1而不是UTF-8是否明显更好?,mysql,utf-8,character-encoding,storage,Mysql,Utf 8,Character Encoding,Storage,对于脚本的全球化,通常使用UTF-8作为默认字符集;例如,在HTML或mysql的默认字符集中。拉丁语网站也是如此,其中字符属于ISO-8859-1。当不需要UTF-8字符时,使用ISO-8859-1不是很有利吗。从有利的角度来说,我指的是极其有益的 我的观点是,只有0-127个字符的UTF-8是1字节,从128-255是2字节;其中ISO-8859-1为1字节系统。它在数据库存储中不是起着关键作用吗?当您使用ISO-8859-1时,这127个UTF-81字节字符中的大多数都是最常用的。让我们看

对于脚本的全球化,通常使用
UTF-8
作为默认字符集;例如,在HTML或mysql的默认字符集中。拉丁语网站也是如此,其中字符属于
ISO-8859-1
。当不需要
UTF-8
字符时,使用
ISO-8859-1
不是很有利吗。从有利的角度来说,我指的是极其有益的


我的观点是,只有0-127个字符的
UTF-8
是1字节,从128-255是2字节;其中
ISO-8859-1
为1字节系统。它在数据库存储中不是起着关键作用吗?

当您使用
ISO-8859-1
时,这127个
UTF-8
1字节字符中的大多数都是最常用的。让我们看一看。如果使用
UTF-8
,则仅当使用127-255个字符中的一个(so I)时,才需要额外的1个字节


我的意见?如果可以并且处理起来没有问题,请使用
UTF-8
。在需要额外字符(或翻译内容的那天)的日子里,你节省下来的时间真的值得在数据库中到处多留一些字节…

简短回答:没关系

长(呃)回答:这样想吧。您有一个
消息
表,其中包含论坛的消息。你有很多信息(比如说,一百万条)。假设由于UTF-8,每条消息需要额外的10个字节。这是额外的1000万个字符,甚至还不到10MB(不包括索引)


对于这样一个“受欢迎”的论坛,您最多不会使用超过15MB的存储空间。没什么。您绝对不应该担心额外的字节丢失,UTF-8将提供比10 MB重要得多的好处。

如果您现在和将来需要的所有内容都是ISO-8859-1,您可以通过使用它来节省空间,但如果使用的大多数字符都<128,则可能不会太多。如果你需要使用ISO-8859-1以外的任何东西,你会受到伤害。从总体上看,UTF-8的存储成本远低于实现多种编码的成本。

大小重要吗? 如您所知,U+0080到U+009F范围内的字符在UTF-8中占用的空间是ISO-8859-1中的两倍。但是,这些字符多久被使用一次

在我从维基百科首页上得到的一篇典型的西班牙语文本中:

布埃诺美术馆

这是动物电视系列节目的时间安排 辛普森·福埃米蒂达原创音乐《卡德纳福克斯》第17集 1995年9月和1996年5月19日。电子商务生产线 比尔·奥克利·约什·温斯坦,奎恩斯 producirían 21个临时情节。大卫·米尔金·富尔秀 跑步者在cuatro餐厅,包括habían vestigios酒店 前额颞部前段的前额前额前额前额前额前额前额前额前额前额前额前额前额前额。时间之星 埃斯图沃·诺米纳达·帕拉多斯普雷米奥斯黄金时段艾美奖,包括洛杉矶 “动物计划”类别 安妮·波尔的“电视动画节目”。洛杉矶 第1版和第13版 2005年的第二个月是2006年的第30个月 米斯莫亚诺马尔佐第4区。拉卡哈·雷科皮拉托利亚酒店 在不同的格式中使用不同的格式:在格式中使用不同的格式 这是一个长方形的教堂,在那里 佩利库拉博物馆

1044个ASCII字符中有17个非ASCII字符。这意味着在UTF-8中编码时仅扩展1.6%。几乎不值得担心,特别是当考虑到所有ASCII HTML标记时

(然而,对于口音较重的语言,如英语,差异可能很大。)

不管怎样,你的想法是如何运作的? 您打算在windows-1252中对所有数据进行编码吗?这并没有给你全球化;地球不会停在奥德河。真正的ISO-8859-1(缺少欧元)甚至更糟;地球仪不停在英吉利海峡

标记文本及其编码?这适用于XML、HTML和SMTP。但你问:

它在数据库存储中不是起着关键作用吗

您打算如何在数据库中存储混合拉丁语-1和UTF-8字符串

有两列
EncodedText BLOB,IsUtf8 BOOLEAN
?你怎么会质疑这一点?当然,您不会只看
EncodedText
而忽略
IsUtf8
;这种方法导致了莫吉巴克

当IsUtf8时,您可以编写一个带有列
大小写的视图,然后使用EncodedText ELSE Latin1ToUtf8(EncodedText)END
,并使用适当的
而不是INSERT
触发器,但这可能会花费比它节省的字节更多的字节。

“Better”太不具体,几乎没有意义。你到底在比较什么品质?你想改进什么?