中文顯示問題:Access、MySQL的連接整合

原本想說,應用自認還算熟悉的 Access 來當前端工具,連接後端資料庫 MySQL 的數據,就可以平順地將現今正再使用的程式及資料移轉到 MySQL 中,好方便多人共同使用,讓電腦應用能更多元化些 !!

不料,人算真不如天算,隨意在 MySQL 建置的數據資料,在經過 Access 的連接資料表動作後,被連接到的數據內容,即然發生中文字變亂碼的情形。(同樣的現象也會產生在直接用程式讀取資料的時候)

將這問題在網上一查詢,好像有很多人發生過;不夠,他們發生的環境並和我,完全不同 !!
我可是使用 Access & MySQL 整合所產生了
他們則是發生在程式運用擷取資料數據的時候,每次都是 Set Names 'UTF8' 就可解決,多看幾次都快背起來了。

好吧,回頭來面對現實了解問題發生在那兒??
我們只是連接資料表而矣,並沒有時間下個 set name 指令 !!

在多方查找問題之後,才發現到 MySQL 網站共提供有兩個 ODBC 程式:

  • MySQL ODBC 3.51 Driver
  • MySQL ODBC 5.1 Driver

解決方法:更換最新的程式 MySQL ODBC 5.1 Driver 即可

使用 MySQL ODBC 3.51 Driver:顯示中文亂碼

image

使用 MySQL ODBC 5.1 Driver:正常顯示中文字

image

同樣的情形,在程式中的用法也相同。

ConnectString = "DRIVER={MySQL ODBC 3.51 Driver};" & _
                "SERVER=" & strServerName & _
                ";DATABASE=" & strDatabaseName & ";" & _
                "USER=" & strUserName & _
                ";PASSWORD=" & strPassword & _
                ";OPTION=3;"

ConnectString = "DRIVER={MySQL ODBC 5.1 Driver};" & _
                "SERVER=" & strServerName & _
                ";DATABASE=" & strDatabaseName & ";" & _
                "USER=" & strUserName & _
                ";PASSWORD=" & strPassword & _
                ";OPTION=3;"

沒有留言: