【问题标题】:How to read Russian characters from a database?如何从数据库中读取俄语字符?
【发布时间】:2012-04-19 10:30:08
【问题描述】:

我在 SQL Server 中有一个数据库。

我有一张表Demo,我在其中将俄语文本插入Nvarchar 类型的列中

现在我想将俄语文本读入我的 Delphi 应用程序,我想将它存储到一个字符串中。

我是否必须设置 ADO 查询等的任何 Charset 属性?

欢迎任何其他想法。

提前致谢

【问题讨论】:

  • 这里有一些曲目,可能是:stackoverflow.com/questions/4819406/…
  • @DavidBrabant :那是为delphi XE,而不是delphi 7
  • @CyprUS - 是的,但是在该问题的 cmets 中,他们还提到了 WideCharToMultiByte,这应该会指导您找到解决方案。
  • @DavidBrabant : 请将您的评论作为 asnwer 发表

标签: sql-server delphi character-encoding delphi-7 ado


【解决方案1】:

由于这个问题没有答案,我会自己回答。使用 SetThreadLocale(<language id>) 我能够将线程的语言 ID 设置为 1033(英语)。由于我的数据库被设置为 1033 id,显示的文本现在可以正确显示。我希望它可以帮助其他人。

要正确输入 Unicode 字符到数据库,请在要输入 Unicode 字符串的列中使用前缀 N。更多详情,请看here

【讨论】:

  • 在您的数据库中除了俄语之外没有其他语言吗? NVarchar 是 Unicode。您应该在数据库中读写WideString。我知道,使用 D7 很难。但是如果 ADO 完全能够使用 Unicode,并且对于 DB 感知控件,您可以使用 Tnt 控件。
猜你喜欢
  • 1970-01-01
  • 2015-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-10
相关资源
最近更新 更多