繁体   English   中英

数据库中的口音

[英]Accents in the database

我正在使用MySql创建数据库。 我使用归类utf8。 我使用带有重音和特殊字符(如ç)的欧洲语言。

有或没有特殊字符的在数据库中存储文本的最佳方法是什么? 例如,我是否应该在数据库中使用différent或diffdifférent (法语不同)? (这意味着,在将文本存储到数据库之前还是之后,我应该使用htmlspecialcharts进行转换?)

我尝试了,两种方法都运作良好。 但是,出于任何技术原因,是否有任何原因使某个选项更值得推荐,或者任何选项都可以。 现在,我要确保开始数据库。 以后将很难更改。

我认为您绝对应该用HTML实体替换字符:这是XML的标准,而不是所有内容的标准!

例如,如果由于某种原因必须提供JSON,那么您将被迫对文本进行XML解码,然后将其用作JSON,其中以不同的方式对UTF-8字符进行编码。

另外,转换字符会使您存储的字符串更不易被人Le premier écoquartier d'Île-de-France a été inauguré (因此Le premier écoquartier d'Île-de-France a été inauguré不易被人搜索): Le premier écoquartier d'Île-de-France a été inauguré将被编码成绝对是恶魔Le premier écoquartier d'Île-de-France a été inauguré东西。

让您的MySQL努力工作,注意非ASCII字符。

这里有两个主题。

  1. 在由UTF-8提供支持并且需要US-ASCII之外的字符的应用程序中是否有必要/有用以将自己限制为7位US-ASCII? 当然没有必要,而且我无法想象有任何理由。 这就像将您的视频另存为未压缩的WAV。 在大多数情况下,这里保留8位。

  2. 将您的纯文本格式转换为HTML以存储它是否必要/有用? 您显然不需要这样做,我想不出一个单一的好处,并且您会为任何单个任务(例如搜索)而陷入假冒编码/解码的额外负担。 HTML并不是全部。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM