Sql 如何使用拉丁字符创建不区分大小写的数据库?
我正在使用Firebird 2.5,我正在搜索创建一个支持不区分大小写的数据库。在这一点上,我成功地将UTF8字符集与UNICODE_CI_AI Collate结合使用,现在的问题是该配置不支持拉丁重音,例如:ÃÓÀ等。。。对于拉丁重音,我使用的是ISO8859_1,但不区分大小写 那么我该如何解决这个问题呢?我需要一个数据库,既支持大小写不敏感和拉丁重音 编辑:这是我的数据库/表配置: 这就是我在尝试插入‘pÃO’这个词时得到的结果,例如:Sql 如何使用拉丁字符创建不区分大小写的数据库?,sql,firebird,Sql,Firebird,我正在使用Firebird 2.5,我正在搜索创建一个支持不区分大小写的数据库。在这一点上,我成功地将UTF8字符集与UNICODE_CI_AI Collate结合使用,现在的问题是该配置不支持拉丁重音,例如:ÃÓÀ等。。。对于拉丁重音,我使用的是ISO8859_1,但不区分大小写 那么我该如何解决这个问题呢?我需要一个数据库,既支持大小写不敏感和拉丁重音 编辑:这是我的数据库/表配置: 这就是我在尝试插入‘pÃO’这个词时得到的结果,例如: 由于您使用FB 2.5,根据您的数据,Unicode
由于您使用FB 2.5,根据您的数据,Unicode有三种排序规则: 统一码 UNICODE_CI UNICODE_CI_AI 中间那个是你要找的吗 如果没有,您可以使用CREATECOLLATION命令以您需要的方式修改现有的排序规则。也可以通过上面的链接或中的链接进行记录 使现代化 好的,我用Firebird 2.1.7测试了我的旧盒子,用ODS 11.1测试了它的数据库 我发现它有UNICODE和UNICODE\u CI,但没有UNICODE\u CI\u AI 我无法在FB2.1中创建AI排序规则-尽管文档中它不断抱怨重音标记或排序规则属性 我使用IBE的stock Firebird 2.5.1 Embedded打开了相同的DB文件 C:\Program Files\IBExpert\IBEUDB\fbedded.dll 然后我运行以下命令:
CREATE COLLATION UNICODE_CI_AI
FOR UTF8 FROM UNICODE_CI
accent INSENSITIVE;
recreate table so_58758871 (
f1 varchar(20) character set UTF8 collate UNICODE,
f2 varchar(20) character set UTF8 collate UNICODE_CI,
f3 varchar(20) character set UTF8 collate UNICODE_CI_AI
);
insert into so_58758871 values (
:sensitive, :semisens, :insensitive
);
而且它。。。在Firebird 2.5.1的旧版本和坏版本中,它可以正常工作,但它是在IBE中发布的,所以我至少没有费心
你说不支持拉丁语重读是什么意思?Unicode有这些字符,不是吗?你可以创建新的排序规则-///并且可以使用现有的排序规则-我同意Arioch的说法:这个配置不支持拉丁重音,这是什么意思。Unicode支持所有已知字符,包括那些“拉丁”字符。您好!我在我的帖子上做了一个更新,提供了更多关于当我试图插入一个葡萄牙语单词时会发生什么的信息。请看一看。您使用的Firebird和IBExpert版本到底是什么?什么是数据库的ODS?你好!我在我的帖子上做了一个更新,提供了更多关于当我试图插入一个葡萄牙语单词时会发生什么的信息。请看一看。