gpt4 book ai didi

ruby - 无法在 Ruby 中比较 UTF-8 字符

转载 作者:太空宇宙 更新时间:2023-11-03 16:06:12 25 4
gpt4 key购买 nike

我正在使用 Ruby - Cucumber 实现自动化。

我正在尝试将日语字符作为参数发送到用户定义的函数以在数据库中进行验证。

下面是我用过的语句:x=$objDB.run_select_query_verifyText('select name from xxxx where id=1','ごせり槎ゃぱ')

在 run_select_query_verifyText() 函数中,我有连接数据库并从数据库获取记录的代码,它将验证作为参数传递的文本(日语字符。)

如果字符串与数据库中的表数据匹配,则此函数返回 true,否则返回 false。

但我总是出错,我发现日文字符串正在转换为“??????”在比较数据时。

注意:我的程序可以很好地处理英文字符。

最佳答案

您的问题很可能与字符编码有关。数据库以与您正在使用的 Ruby 字符串不同的编码返回内容。您需要弄清楚 db 编码是什么,并确保两者相同。

如果您使用的是 ruby​​ 1.9,您可以使用 yourstring.encoding 检查编码当前编码并将其更改为例如UTF-8 与 yourstring.encode("UTF-8")。如果您使用的是 ruby​​ 1.8,则事情会更加棘手,因为 String 类本身不支持编码。你可以使用例如character-encodings gem 来解决这个问题。

关于ruby - 无法在 Ruby 中比较 UTF-8 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13394275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com