Mysql latin1 土耳其语数据和delphi 2010 utf8

发布于 2024-08-30 11:36:27 字数 1074 浏览 3 评论 0原文

我有整理 latin1_general_ci 的表并有土耳其字符值。我可以在 delphi 7+zeos 上使用这些数据,没有任何问题。但我想将我的 delphi 升级到 2010 版本,但 zeos 太慢了,正如我所见。所以我想使用odbc+ado或dbexpress解决方案。

dbexpress 解决方案工作正常,显示输入的数据并按输入的表写入,无需对列字符集进行任何更改。但正如我所见,dbexpress 有问题。例如,当我从列类型为 varchar、decimal、int、tinyint、text 的表中选择 * 时,在 xp 系统上会出现 av 错误。 vista 和 7 不会给出任何错误并且工作正常(未完全测试)。

在 xp 系统中访问冲突跟踪是 访问冲突调试跟踪是

|7C9010E0|ntdll.dll | | |RtlLeaveCriticalSection | |

|7E419239|USER32.dll | | |CharUpperBuffW | |

|7E419216|USER32.dll | | |CharUpperBuffW | |

|7C80CED0|kernel32.dll| | |LCMapStringW | |

|7C910380|ntdll.dll | | |RtlImageNtHeader | |

|7C903247|ntdll.dll | | |RtlConvertUlongToLargeInteger| |

|7C90E485|ntdll.dll | | |KiUserApcDispatcher | |

|009A631E|Project1.exe|Unit1.pas |TForm1|Button1Click |110[37]|

ado 解决方案(dbgo)工作正常,但它没有显示我输入的数据。它希望所有内容都是 utf。但我不想在测试所有内容之前将数据转换为 utf。我如何查看输入的数据并写入客户端 utf 并存储 latin1(如 zeos 或 dbexpress 那样)。

我尝试了很多其他选择。例如。 mysql 侧排序规则和字符集参数。

抱歉我的英语不好。我希望有人理解我。

谢谢。

I have tables collating latin1_general_ci and have turkish character values. And i can use this data on delphi 7+zeos with no problem. but i want to upgrade my delphi to 2010 version but zeos too slow as i saw. so i want to use odbc+ado or dbexpress solution.

dbexpress solution works fine , display my data as entered and write as entered table without any change to column charset. but dbexpress has problems as i saw. for example when i select * from table which has column types as varchar,decimal,int,tinyint,text give av errors on xp systems. vista and 7 does not give any error and work fine(not fully tested).

in xp systems access violation trace is
the access violation debug trace is

|7C9010E0|ntdll.dll | | |RtlLeaveCriticalSection | |

|7E419239|USER32.dll | | |CharUpperBuffW | |

|7E419216|USER32.dll | | |CharUpperBuffW | |

|7C80CED0|kernel32.dll| | |LCMapStringW | |

|7C910380|ntdll.dll | | |RtlImageNtHeader | |

|7C903247|ntdll.dll | | |RtlConvertUlongToLargeInteger| |

|7C90E485|ntdll.dll | | |KiUserApcDispatcher | |

|009A631E|Project1.exe|Unit1.pas |TForm1|Button1Click |110[37]|

ado solution(dbgo) works fine but its not show my data as entered.its want everything be utf. but i don't want to convert my data to utf before test everything. how can i see my data as entered and write client side utf and store latin1(as zeos or dbexpress do).

i was tried many other options. eg. mysql side collation and charset parameters.

sorry for my bad english. i hope someone understand me.

thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

音盲 2024-09-06 11:36:27

我建议迁移到 3d 方解决方案,例如 AnyDAC。 AnyDAC 支持以下 MySQL 功能:

  • 普通服务器和嵌入式服务器。
  • SSL 连接。
  • ENUM、SET 等数据类型。
  • UTF8等字符编码。
  • 自动递增列。
  • MySQL 5 存储过程。
  • 具有多个结果集的批处理命令。
  • 查询执行中止。
  • 数组 DML。

I will suggest to migrate to 3d party solutions, like AnyDAC. AnyDAC supports the following MySQL features:

  • Normal and Embedded servers.
  • SSL connections.
  • ENUM, SET, etc data types.
  • UTF8, etc character encodings.
  • AUTO_INCREMENT columns.
  • MySQL 5 stored procedures.
  • Batch commands with multiple result sets.
  • Query execution aborting.
  • Array DML.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文