Problem with MyDAC 5 and twidememo

Discussion of open issues, suggestions and bugs regarding MyDAC (Data Access Components for MySQL) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
snorkel
Posts: 384
Joined: Tue 08 Aug 2006 15:10
Location: Milwaukee WI USA

Problem with MyDAC 5 and twidememo

Post by snorkel » Fri 27 Apr 2007 06:18

I am having problems getting text fields from a utf8 database to display unicode text. I am using the last free version of the TNT controls and when I paste in unicode text such as Россия all I get is a bunch of ????????

Has anyone got the twidememo support in version 5 to work with the TNT dbedit control?

Thanks,

Snorkel

Antaeus
Posts: 2098
Joined: Tue 14 Feb 2006 10:14

Post by Antaeus » Fri 27 Apr 2007 07:02

Please take a look at this thread. The similar problem was discussed there.

snorkel
Posts: 384
Joined: Tue 08 Aug 2006 15:10
Location: Milwaukee WI USA

Post by snorkel » Fri 27 Apr 2007 15:39

Antaeus wrote:Please take a look at this thread. The similar problem was discussed there.
I have seen that thread, but I have version 5 of MyDAC which is supposed to work with twidememo out of the box right?

The strange thing is on my XP SP 2 box (32bit) it does not work, but at work on my XP 64bit workstation the widememo support works fine.

I removed all the old bpls and dcps before I installed on the 32bit box.
The 64bit box was a brand new install and had never had MyDAC on it.

Antaeus
Posts: 2098
Joined: Tue 14 Feb 2006 10:14

Post by Antaeus » Sat 28 Apr 2007 15:02

We will test this issue. Please specify the IDE version(s) you are using.

snorkel
Posts: 384
Joined: Tue 08 Aug 2006 15:10
Location: Milwaukee WI USA

Post by snorkel » Sun 29 Apr 2007 05:45

Hi, I was on D2006 but I have since installed D2007.
I also completely removed D2006 so I am running a fresh install of D2007 and the issue remains.

The TNTdbmemo still shows ????????? when I paste in unicode data such as
розничными сетями and hit the post button.

I am using the latest MyDAC 5 and the last free version of the TNT controls 2.3 I believe.

It works perfectly fine on my 64Bit Windows XP at work but not on standard 32bit XP.

Antaeus
Posts: 2098
Joined: Tue 14 Feb 2006 10:14

Post by Antaeus » Thu 03 May 2007 14:30

I tested the latest MyDAC (5.00.1.6) with the latest TNT controls (2.3.0) on Delphi 2006 and MySQL 5.0.20. I did not encounter any problems.
Please check that the data in your table is stored in the utf8 encoding (execute a command like SELECT CHARSET(field_name) FROM table_name;) and the TMyConnection.Options.UseUnicode is set to True.
You can also check what commands are sent to the server using MySQL logs. Just run your server with the --log-error=file_name parameter. This may help to determine who damages data.

snorkel
Posts: 384
Joined: Tue 08 Aug 2006 15:10
Location: Milwaukee WI USA

Post by snorkel » Mon 21 May 2007 03:44

Antaeus wrote:I tested the latest MyDAC (5.00.1.6) with the latest TNT controls (2.3.0) on Delphi 2006 and MySQL 5.0.20. I did not encounter any problems.
Please check that the data in your table is stored in the utf8 encoding (execute a command like SELECT CHARSET(field_name) FROM table_name;) and the TMyConnection.Options.UseUnicode is set to True.
You can also check what commands are sent to the server using MySQL logs. Just run your server with the --log-error=file_name parameter. This may help to determine who damages data.
It is setup for utf8, and like I said before on Windows XP 64bit it works fine,I take the same exe against the same MySQL database and run it on Windows XP 32bit SP2 and it does not work. I am using Delphi 2007 to compile the exe.

Antaeus
Posts: 2098
Joined: Tue 14 Feb 2006 10:14

Post by Antaeus » Mon 21 May 2007 09:34

Please open a query that returns several rows in two modes on both workstation, save received results in XML files (TMemDataSet.SaveToXML), and send these four XML files to me at evgeniyd*crlab*com.

The first mode mode: TCustomMyConnection.Options.UseUnicode = True;
The second mode mode: TCustomMyConnection.Options.UseUnicode = False; TCustomMyConnection.Options.Charset = 'utf8';

Note that values for the memo field of the selected records should not be empty.

Post Reply