如何使用数据库中的中文字符?

时间:2009-10-15 09:43:38

标签: database delphi unicode

我在数据集中遇到捕获中文字符的问题。

在Delphi 2010中,我尝试了两种组件:

  1. Delphi默认
  2. Developer Express组件
  3. 因此,那些未链接到数据源的组件工作正常,但链接到数据源的 do 组件存在问题。除TDBMemo外,汉字已被转换为问号。见下图。

    数据集是一个客户端数据集,包含两个字段:

    1. 名称 - 字符串
    2. 说明 - 备忘录
    3. 我该怎么做才能让它发挥作用?

      Reference Image http://img97.imageshack.us/img97/9445/d2010unicodetestsimplif.gif

      type
      TForm1 = class(TForm)
      ClientDataSet1: TClientDataSet;
      ClientDataSet1Name: TStringField;
      ClientDataSet1Description: TMemoField;
      DataSource1: TDataSource;
      ClientDataSet2: TClientDataSet;
      ClientDataSet2Name: TStringField;
      ClientDataSet2Description: TMemoField;
      DataSource2: TDataSource;
      

1 个答案:

答案 0 :(得分:2)

在Delphi 2010中,TStringFieldTMemoField's value属性的类型为AnsiString。这就是为什么中文字符没有显示在数据感知控件中的原因。

相反,您应该将字段类型声明为ftWideStringftWideMemo,以分别创建TWideStringFieldTWideMemoField