我在对包含^和!等特殊字符的字符串进行排序时遇到了问题。在Firebird数据库中。
当使用具有以下设置和使用归类unicode_ci_ai的表的TADTable组件时
CachedUpdates := false;
FetchOptions.Unidirectional := false;
FetchOptions.CursorKind := ckAutomatic;
FetchOptions.Mode := fmOnDemand;
FormatOptions.SortOptions := [soNoCase];服务器会将以^开头的字符串放在以!开头的字符串之前,而TADTable则相反。这会导致在关闭记录时出现重复。
我正在寻找对带有特殊字符的字符串进行排序时的最佳实践。我必须使用TADTable (遗留系统)和动态数据窗口模式来提高速度。
谢谢。
发布于 2016-11-25 12:19:42
这很可能与具有不同默认字符编码的数据库连接有关。请参阅Firebird Character Sets and Collations
https://stackoverflow.com/questions/40771694
复制相似问题