Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql拉丁1土耳其数据和delphi 2010 utf8_Mysql_Delphi_Utf 8_Ado_Dbexpress - Fatal编程技术网

Mysql拉丁1土耳其数据和delphi 2010 utf8

Mysql拉丁1土耳其数据和delphi 2010 utf8,mysql,delphi,utf-8,ado,dbexpress,Mysql,Delphi,Utf 8,Ado,Dbexpress,我有一些表格整理拉丁文1_general_ci,还有土耳其语字符值。我可以在Delphi7+zeos上毫无问题地使用这些数据。但我想将我的delphi升级到2010版,但正如我看到的,zeos太慢了。所以我想使用odbc+ado或dbexpress解决方案 dbexpress解决方案工作正常,以输入的方式显示数据,并以输入的方式写入表,而不更改列字符集。但正如我所看到的,dbexpress有一些问题。例如,当我从表中选择*时,该表的列类型为varchar、decimal、int、tinyint,

我有一些表格整理拉丁文1_general_ci,还有土耳其语字符值。我可以在Delphi7+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 | | | charupperbufw ||

|7E419216 | USER32.dll | | | charupperbufw ||

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

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

| 7C903247 | ntdll.dll | | | | | rtlconvertutionLongtolargeinteger |

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

|009A631E | Project1.exe | Unit1.pas | TForm1 |按钮1点击| 110[37]|

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

我尝试了许多其他的选择。例如,mysql端排序规则和字符集参数

对不起,我的英语不好。我希望有人能理解我


谢谢。

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

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

我不理解您的情况,但您是否尝试过使用
集合名称设置连接的字符集
?此外,您还应该描述收到的错误消息。是,请重试。但是我的数据是拉丁文的。它包括土耳其语字符。如果没有转换集名称,则无法完全工作。如果使用集合名称,则无法搜索土耳其语字符。在utf中,您可以这样做。但如果没有完整的测试,我不想将数据转换为utfin dbexpress解决方案,因为我会遇到访问冲突。我试图做跟踪错误。这是因为数字转换错误。我有像十进制(20,8)这样的列,双无符号。我的主键列是双无符号非空自动增量。我将在我的xp系统中发布调试跟踪。啊,所以你也需要写回数据。嗯,排序字符问题的最简单方法是将表迁移到UTF-8,不是吗?这不可能吗?至于第二个问题,我不知道,这似乎源于数字转换。我记得Delphi的数据库连接器中有这样的问题,但我使用的最后一个版本是Delphi5:)是的,你说得对。这也太难了。以及odbc将我的主键视为其中id=1.00000。这将是未来的问题。无论如何,我希望我必须将我的所有数据转换为utf-8,读取拉丁文1和utf8解码并再次写入utf8表。据我所知,改变表格并不能解决我的问题。谢谢。我试过任何DAC试用版。在使用anydac soluiton之前,我必须将所有数据转换为utf。正如我之前看到的,它真的很快。但我更喜欢开源软件。现在我使用的是Delphi7+zeos+mysql,除了delphi都是开源的。再次感谢