Delphi XE 使用 MySQL 数据库一个奇怪的问题
生活随笔
收集整理的這篇文章主要介紹了
Delphi XE 使用 MySQL 数据库一个奇怪的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Delphi XE 使用 MySQL 數據庫一個奇怪的問題
我用的是自帶的 ADO 組件連接 MYSQL ,連接很簡單,如下:
1、下載一個 MYSQL 驅動安裝上 下載地址
2、連接串
- 這樣連接的優點是方便 缺點是目標需要也安裝驅動 只安裝驅動即可不必設置 ODBC
之后就是討厭的中文亂碼問題解決
網上介紹的大多是數據庫編碼改成 UTF8 這樣不能完全解決 但使用 DELPHI 不亂碼最重要的是設置 ADO 連接也使用 UTF8 之后保存中文時用 AnsiToUtf8 讀取時用 Utf8ToAnsi
接著奇怪的問題出現了
Adoq.Edit;sSave := AnsiToUtf8('中文測試');Adoq.FieldByName('Field').Value := sSave;Adoq.Post; // 這樣就會出錯 說 Data too long for column 'Field' at row 1'. 錯誤,說字段不夠長可確信字段長度夠用 Adoq.Edit;Adoq.FieldByName('Field').Value := AnsiToUtf8('中文測試');Adoq.Post; // 同樣 沒改數據結構的情況下 這樣就沒問題*有大佬知道咋回事兒嗎?
總結
以上是生活随笔為你收集整理的Delphi XE 使用 MySQL 数据库一个奇怪的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Delphi XE 10.4 FMX L
- 下一篇: linux can 接收多帧_CAN编程