我有整理latin1_general_ci並具有土耳其字符值的表格。我可以在delphi 7 + zeos上使用這些數據,而且沒有問題。但我想升級我的delphi到2010版本,但zeos太慢,因爲我看到。所以我想使用odbc + ado或dbexpress解決方案。Mysql latin1土耳其數據和delphi 2010 utf8
dbexpress解決方案工作正常,顯示我輸入的數據和寫入輸入表沒有任何改變列字符集。但是我看到dbexpress存在問題。例如,當我從列中選擇*列類型爲varchar,decimal,int,tinyint,文本在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的排序和字符集參數。
對不起我的英語不好。我希望有人能理解我。
謝謝。
我不明白你的情況,但你有沒有嘗試使用SET NAMES設置*連接*的字符集?另外,你應該描述你得到的錯誤信息。 – 2010-04-24 17:12:43
是的嘗試過。但我的數據是latin1格式。其中包括土耳其人物。沒有轉換集名稱不能完全工作。如果您使用集合名稱,則無法搜索土耳其字符。在UTF你可以做。但沒有完整的測試,我不想將我的數據轉換爲utf – 2010-04-24 17:16:36
在dbexpress解決方案中,我得到訪問衝突。我試過做跟蹤錯誤。這是因爲數字轉換錯誤。我有像十進制(20,8),雙無符號列。並且我的主鍵列是雙重無符號不爲空auto_increment.i將在我的xp系統中發佈調試跟蹤。 – 2010-04-24 17:20:06