none
Access 無法顯示部份中文 RRS feed

  • 問題

  • 目前使用ACCESS  2000資料庫時發現輸入中文字資料(如姓名)時有些字無法顯示而出現?(如綉、鏥、褏、繍等不勝枚舉),這些字在其他office軟體中都可顯示,只有在ACCESS軟體會有這問題,請教各位達人如何解決?是否可告訴我從那裡修改設定可解決這問題?感謝!

     

    2007年6月27日 上午 09:26

解答

  • 由你所列的那些字來看,都不在 Big5 的列表之內,要使用 Unicode 才能夠顯示,請參考此篇文章:Taking Advantage of Unicode Support in Office 2000
    解決方法請先去安裝最新版的 Office 2000 Service Pack 3,如果安裝之後,還是無法解決那就請升級成 Access 2003 以上(含)的版本
    2007年6月27日 上午 10:03
  • 所以這麼看來,你不是直接在 Access 中鍵入資料的,而是透過其他的應用軟體來讀取與寫入資料?
    請確認下列兩點事情:
    1. 這個 Access 檔案是否由 Access 2002 以上的版本所建立的,如果不是,請由Tools、Database Utilities、Convert Database 那邊去升級(抱歉,因為手邊沒中文版的)
    2. 使用 Access 2002 以上的版本開啟一個新的檔案,在裡面輸入要的那些非 Big-5 中文字,然後存檔,關閉這個檔案,再開啟它,應該是可以看到這些字的,心中應該有莫名的感動吧!
    3. 應用程式是否可以處理非 Big-5 的中文字?
    2007年6月28日 上午 11:00
  • 我的應用軟體是國外開發的,原創者已不知去向

    我試過更新MDAC2.8,安裝時出現與現在microsoft軟體不相容的訊息,我的OS是XP Home,不知為何不相容?

    Alex,這問題花你不少時間真不好意思,感謝你的熱心協助!

    2007年6月29日 上午 06:24
  • Sorry that I'm not the designer / programmer for the MDAC, therefore, neither do I have any idea. Maybe you should check what's the version of the MDAC was installed in your PC. I would encourage you to use another PC or VPC (Virtual PC) to install the MDAC and then test your AP to see if the not-supported AP will work well with the new version MDAC and Access database file.
    2007年7月2日 下午 02:05
  • 如果是 Access 97 ,可能是用 DAO 3.5 以前版本存取,那就完全不支援 Unicode ,早期程式是用參照方式寫,也不可能升級參照,要由原始碼去改。

     

    請安心的讓這個程式安息。

     

    更新 MDAC 必須那個程式是用 ADO 連接才有意義,ADO 大量使用是到 Access 2000 以後的事。

    2007年7月2日 下午 05:03
    版主

所有回覆

  • 由你所列的那些字來看,都不在 Big5 的列表之內,要使用 Unicode 才能夠顯示,請參考此篇文章:Taking Advantage of Unicode Support in Office 2000
    解決方法請先去安裝最新版的 Office 2000 Service Pack 3,如果安裝之後,還是無法解決那就請升級成 Access 2003 以上(含)的版本
    2007年6月27日 上午 10:03
  • Dear Alex, 謝謝你的指點,因使用Access 2000的PC不在手邊,先用有同樣問題的Access 2002 PCTest,已將Office XP Pro(Office 2002)更新為ServicePack3,還是無法顯示之前提到那些中文字(Unicode),煩請幫忙想看有沒其他辦法?又如果花前升級成Access2003以上版本,是否確定可完全解決這Unicode的問題呢?

    之前google search 時找到以下解答,但我不是IT 專業人員,有看沒有懂,不知這是否有幫助?請指點,TKVM!

     

    对于国外空间乱码显示问题,可用以下办法:

    在数据提取页面的第一行代码换成如下代码即可:
    % @language=vbscript codepage=936%
    1.
    若是html文件(.htm .html)
    在<head></head>中加上<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
    2.
    若是PHP/cgi文件(.php .php3 .php4)
    在每个PHP文件谝恍屑由希?header("content-Type: text/html; charset=gb2312"; ?


    3.
    若是asp文件(.asp .jsp)
    下面言归正传,说说asp源文件在国外服务器上中文问题的解决办法:

    1.首先,把您的asp源文件放在 IIS 里进行全面测试,调用每一项功能,确认它完全能够使用,并正确显示中文,并打开 *.mdb 数据库文件查看中文显示是否正常。全部通过后,做好备份文件,即可执行第二步。

    2.如果,您根本不懂 asp 的话,最简单的方法是:
    打开 所有 *.asp 文件,并在第一行插入 %@ codepage="936" %>,

    例外情况:
    ,如果第一行是以 %@ LANGUAGE="VBs cript" % 开头,
    则把第一行改为:<%@ codepage="936" LANGUAGE="VBs cript" %

    ,如果第一行是以 html s cript LANGUAGE="javas cript">开头,则不加入。

    3.第二步完成后,再用 IIS 对每一项功能进行测试,如显示 \0\conn.asp line 1, 即为错误信息,意思是: conn.asp 源文件第一行有错,那就把 %@ codepage="936" % 删除即可,一些例外错误,请到 http://search.microsoft.com/default.asp ;;这里,输入错误信息查询即可,全部功能测试可行后,即可上传至国外服务器上,进行测试。

    4.方法还是:调用每一项功能,全部能正确使用并能显示中文后,再下传”*.mdb 文件(非常重要),打开,确认能正确显示中文,大功告成。

    另外在外国服务器上用ACESS2000的中文显示方法不用转化数据库ACESS2000,只需在ASP第一行加入%@ codepage=1256 %

    怎么解决外国空间中文显示出问题的问题
    非程序生成的文字可以显示。但程序生成的文字就只有E文可以显示了。中文全是?号,这是数据库乱码引起的。

    方法一:
    使用 Microsoft Access 2000 打开数据库,选择工具菜单>数据库实用工具>转换数据库>到早期 Access 数据库版本。OK

    方法二:

    后来订阅了微软的新闻组,在微软的新闻组dotnet.framework.aspplus.general中发现有讨论这
    个问题的文章,方法为添加<%@ CODEPAGE = "936" %>到每一页的开头,有点类似于jsp中的
    %@ page contentType="text/html;charset=gb2312"%
    赶紧测试了一下,果然OK!!!

    例子如下面所示:
    %@ CODEPAGE = "936" %
    %@ Import Namespace="System.Data" %
    %@ Import Namespace="System.Data.ADO" %
    %@ Import Namespace="System.Globalization" %
    html
    head
    meta http-equiv="Content-Type" content="text/html; charset=gb2312"
    /head

    方法三:


    添加一个config.web文件到
    web
    目录下,
    建立一个文件config.web,内容如下,放在WEB目录下
    configuration
    globalization
    requestencoding="utf-8"
    responseencoding="utf-8"
    /

    /configuration

     

    2007年6月28日 上午 04:55
  • 先釐清你使用的環境,所謂的不能顯示,是指開啟 MS Access,看不到這些非 Big-5 範圍所內含的字?還是說,透過 ASP 程式從 MS Access 取出資料,並顯示在網頁上時,那些非 Big-5 範圍的字看不到?

    如果是透過 ASP 網頁程式來顯示,就要看連線的元件是否支援 Unicode。在大多數的情況下,可能是透過 ODBC,如果這個元件部支援 Unicode 那當然就顯示不出來。

    至於你所提到的那段簡體內容,簡單地說,就是網頁編碼設定的問題。大家都知道,IE 允許我們去指定網頁所用的編碼(由「檢視」功能表、「編碼」選項),其中有個選項是「自動選取」,為何 IE 可以自動判斷網頁的編碼呢?它是檢查網頁 <meta http-equiv="Content-Type" content="text/html; charset=xxxx"> 中,charset 的內容來決定的,如果你在這邊指定成 Big5,那麼所顯示的網頁內容自然就只能顯示 Big-5 範圍內的字。如果要可以完整顯示非 Big-5 範圍內的字,請將 Big5 改成 utf-8。
    2007年6月28日 上午 06:36
  • 剛剛查了一下資料,ODBC 要 3.5 版之後才支援 Unicode:
    INFO: OLE DB Provider for ODBC 現在的 ODBC 3.5 和更高的核心元件
    2007年6月28日 上午 06:40
  • Dear Alex 我現在用的應用軟體僅在PC單機使用,資料庫建立在Access程式,並未透過 ASP 網頁程式來顯示,簡單說應用軟體中有供輸入客戶姓名、地址等的欄位,當輸入非Big-5中文字(如綉繍嘼锈鱃龟锬弹)都顯示“?”,更新為Access2002 SP3 後還是一樣,不知Microsoft是否有解決辦法?或者有沒有如造字工具可描繪有問題的字再貼入輸入欄位?Anyway,任何可能的方法都麻煩指點一下,否則有些客戶姓名show不出來很頭痛。若花銀子買Access2003以上升級版,可一勞永逸,側底解決嗎?

    2007年6月28日 上午 09:11
  • 所以這麼看來,你不是直接在 Access 中鍵入資料的,而是透過其他的應用軟體來讀取與寫入資料?
    請確認下列兩點事情:
    1. 這個 Access 檔案是否由 Access 2002 以上的版本所建立的,如果不是,請由Tools、Database Utilities、Convert Database 那邊去升級(抱歉,因為手邊沒中文版的)
    2. 使用 Access 2002 以上的版本開啟一個新的檔案,在裡面輸入要的那些非 Big-5 中文字,然後存檔,關閉這個檔案,再開啟它,應該是可以看到這些字的,心中應該有莫名的感動吧!
    3. 應用程式是否可以處理非 Big-5 的中文字?
    2007年6月28日 上午 11:00
  • 謝謝你的指點,我是透過其他的應用軟體來讀取與寫入資料。

    1.我的Access檔案是由Access97建立的,已照你教的方式升級,同時個別儲存了Access2000及Access2002兩個新資料庫。

    2.試過在Access2000&Access2002資料表中輸入非Big-5字,都可顯示!確實很感動

    3.不過將Access2000&Access2002分別貼到原Access97資料庫位置取代原資料庫後,由應用程式輸入非Big-5字仍無法顯示且無法儲存與讀取、匯入等,出現錯誤訊息:unrecognized data base formatC:\Program Files\........,再復原成原Access97資料庫後才可正常操作。

    請問這是否表示應用軟體只支援Access97,如果是,在不動應用軟體前提下,有沒有其他解決Access 97 Unicode中文輸入的方法?

    2007年6月29日 上午 04:01
  • 可能的話,請詢問應用軟體的原創者,因為不知道應用程式是如何去存取 Access 檔案,猜測應該是透過 ODBC 這類的方式存取。可以嘗試更新 MDAC 2.8 版試看看,它本身就內含新版的 ODBC。

    參考資料:
    Microsoft Data Access Components (MDAC) 2.8
    2007年6月29日 上午 04:13
  • 我的應用軟體是國外開發的,原創者已不知去向

    我試過更新MDAC2.8,安裝時出現與現在microsoft軟體不相容的訊息,我的OS是XP Home,不知為何不相容?

    Alex,這問題花你不少時間真不好意思,感謝你的熱心協助!

    2007年6月29日 上午 06:24
  • 原來作業系統是  XP Home 啊!那不知道版本是多少?
    請自行參考下面那篇討論:在哪種作業系統與版本才能安裝特定版本的 MDAC

    參考資料:Microsoft Data Access Components (MDAC) Installation

    由我們來來回回討論多次,就可以知道提供愈多的資訊,對於問題的判斷是多麼重要了。
    2007年6月29日 下午 03:40
  • 依你給的連結網頁查到我的OS Windows XP version 2002 SP2 應下載MDAC2.8 SP1,實際下載安裝時還是出現與之前一樣的錯誤訊息:此安裝程式不支援安裝於此作業系統。I have no idea why??
    2007年7月2日 下午 12:55
  • Sorry that I'm not the designer / programmer for the MDAC, therefore, neither do I have any idea. Maybe you should check what's the version of the MDAC was installed in your PC. I would encourage you to use another PC or VPC (Virtual PC) to install the MDAC and then test your AP to see if the not-supported AP will work well with the new version MDAC and Access database file.
    2007年7月2日 下午 02:05
  • WinXP SP2 / Win2003 SP1 內含 MDAC 2.8 SP2 ,不用下載也不能安裝 MDAC 2.8 SP1 。
    2007年7月2日 下午 04:58
    版主
  • 如果是 Access 97 ,可能是用 DAO 3.5 以前版本存取,那就完全不支援 Unicode ,早期程式是用參照方式寫,也不可能升級參照,要由原始碼去改。

     

    請安心的讓這個程式安息。

     

    更新 MDAC 必須那個程式是用 ADO 連接才有意義,ADO 大量使用是到 Access 2000 以後的事。

    2007年7月2日 下午 05:03
    版主
  • Dear Alex

    Thanks a lot for your keen instruction, I will try what you advised to see whether it works, Let's close this issue for the time being. 

    2007年7月5日 上午 08:35
  • 看來非得設法將應用程式改寫成support Access2000以上版本才能擺平中文Unicode存取問題了,Thanks a Lot!
    2007年7月5日 上午 08:39