繁体   English   中英

Delphi 2009 + Zeos + MySQL DBGrid将字符串显示为(BYTES)

[英]Delphi 2009 + Zeos + MySQL DBGrid displaying strings as (BYTES)

我在Delphi 2009中使用Zeos库时遇到了一些麻烦。我有一个使用utf8_bin编码的MySQL数据库,当我尝试从数据库中检索一些字符串并用DBGrid显示它时,DBGrid会显示单词(BYTES),而不是实际的字符串。

我试图更改一些设置,但徒劳无功。 经过大量的努力,我下载了“ MySQL的DAC”的试用版,奇怪的是,一切正常。

该程序是一个非常简单的程序,具有Zconnection,Ztable,数据源和DBGrid。 数字显示正确,只有字符串有此问题。 我尝试了不同的事情,但我不知道我还能做些什么。

MySQL版本是5.6.24

ZEOSlib 7.1.4稳定

如果有人有建议,请帮助我! 谢谢您的时间(对不起,我的英语不好)

我在MySQL 5.6-23和Delphi XE7稳定的ZeosLib 7.1.4上也遇到了同样的问题。

我的TZConnection初始化为:

  • ClientCodePage到latin1
  • ControlsCodePage到cCP_UTF16
  • 属性
    • AutoEncodeStrings =开启
    • controls_cp = CP_UTF16
    • codepage = latin1
  • 协议mysqld-5

我的数据库是使用默认字符集和排序规则(utf8 / utf8_bin)创建的,即使使用latin1 / latin1_bin,我也遇到了与您相同的问题

然后,我已经改变了由IF NOT EXISTS MyDbName CHARACTER SET latin1的COLLATE latin1_general_cs然后一切工作正常CREATE DATABASE数据库

希望对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM