是否有一个默认接受特殊字符的数据库(不转换它们)?

时间:2014-02-19 20:32:07

标签: sql database character-encoding special-characters

我目前正在从头开始选择数据库来存储从一组Web表单收集的数据。人类将填写这些形式,因为他们容易使用国际字符,特别是那些名叫José和François以及أسامة和布鲁斯的人,我想从一个接受所有类型的现代数据库平台开始(可以这么说),没有转换。

问:从一开始,数据库是否存在接受现代字体中各种各样字符的数据库?如果是这样,数据库的缺点是什么,不需要转换尽可能多的数据来存储该数据?

// 预测我不想要的两个答案:

我发现很多答案可以解释某人如何将特殊字符(如é或版权符号)转换(或编码)成数据库合法字符集(如©(for©),以便数据库可以接受它。这需要转换/转换层来将数据传入和传出数据库。我知道这必须发生在像字母z可以简化为1和0的水平上,但我真的在谈论找到一个人类可读的数据库,一个不需要翻译的数据库。

我还看到人们将当前数据库的字符编码更改为接受更多字符的编码的建议。对于那些携带遗留系统并希望使其与早期计算机和早期网络没有预料到的更广泛字符相关的人来说,这是一个很好的解决方案。我不是从遗留系统开始的。我正在寻找一些现代数据库选项。

1 个答案:

答案 0 :(得分:1)

是的,有些数据库支持大字符集。如何实现这一点因数据库而异。例如:

  • 在MS SQL Server中,您可以使用ncharnvarcharntext数据类型来存储Unicode(UCS-2)文本。

  • 在MySQL中,您可以选择UTF-8作为表的编码,以便它能够存储Unicode文本。

对于您考虑使用的任何数据库,您应该查找Unicode支持以查看是否可以处理大字符集。