如何在Firebird sql语句中使用非ascii字符串文字?

用户名

我想在firebird sql查询中使用非ascii字符串文字。因此,我使用FlameRobin来查看它是否首先起作用:我使用了类似的方法:

SELECT NAME FROM TABLE1 WHERE NAME = 'العربية'

我也尝试过:

SELECT NAME FROM TABLE1 COLLATE UNICODE_CI_AI WHERE NAME = 'العربية'

没有成功。因为我已经使用UTF8字符集和UNICODE_CI_AI排序规则声明了NAME

从此引荐网址链接:https : //firebirdsql.org/file/documentation/reference_manuals/fblangref25-zh-CN/html/fblangref25-appx06-charsets.html

FlameRobin抛出有关语法的错误,它实际上不理解:'العربية'字符串。因此,我决定使用Firebird Maestro更改数据库管理工具来进行测试,该工具现在可以接受此类非ascii字符串文字,但过滤器工作不正确。

如何解决这个问题?

注意:我正在使用firebird v2.5

马克·罗特·韦尔

Firebird使用连接字符集来知道如何编码字符串值。默认值是NONE指没有应用特定的字符集转换,并且每个工具/客户端的确切行为各不相同,但是通常,客户端会应用系统默认的字符集在字节值和字符串之间进行转换。

从FlameRobin连接时,您需要指定连接字符集UTF8,您的查询将起作用

SELECT NAME FROM TABLE1 WHERE NAME = 'العربية'

如果未指定连接字符集,则将应用连接字符集NONE,结果将以平台默认编码(在Windows上不是utf8,但在Windows-1252上)解释字符串值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Firebird 2.5 的过程定义中使用非 ASCII 字符/错误“格式错误的字符串”

如何在bash脚本中连接字符串以在SQL语句中使用?

如何在SQL WHERE IN语句中的R中使用字符串

如何在Firebird中使用(PostgreSQL的DISTINCT ON)?

如何在带有 int 的 if 语句中使用字符串?

如何在MySQL存储过程的IN语句中使用查询字符串

我们如何在声明语句中使用字符串变量?

如何在MySQL语句中使用.format()字符串?

如何在switch语句中使用字符串资源

如何在systemverilog案例语句中使用通配符字符串

关于如何在条件语句中使用 Python 添加字符串的问题

如何从参数中获取字符串并在if语句中使用它?

如何连接字符串和数字SAS宏并在where语句中使用

如何在 django 模板的 if 语句中使用 django 变量到 javascript 字符串变量中

如何在Rails 4.2中使用Firebird

如何在VestaCP(CentOS)中使用Firebird InterBase运行PHP

如何在Python中使用Firebird审核和跟踪服务?

如何在BigQuery中使用标准SQL在LEFT JOIN的ON子句中使用字符串函数?

如何使用将字符串添加到sql语句中?

SQL LIKE:如何在 SQL like 语句中添加字符串变量?

如何在Firebird中通过存储过程使用IF?

如何在 if 语句中将字符串作为变量?

如何在SQL语句中连接两个字符串?

如何在运行时更改微调器的字符串数组如何在if语句中使用微调器的选定项目(eclipse中的Android)

SQL Server:如何在insert语句中使用if语句

如何比较if语句中的字符串

如何在Go中使用字符串文字

如何在SQL中使用NULL或空字符串

如何在Firebird select语句中创建1到100的范围?