none
ADO.NET 讀取 Big5 難字處理問題 RRS feed

  • 問題

  • 中文  BIG 難字    例如  "栢"

    寫入ORCAL TABLE  是使用  Win32 程式  例如  Delphi 開發的輸入介面+Unicode 補完計畫 ,
    即可輸入難字並存到TABLE

    WIN32 (Delphi 開發AP   ADO)  SELECT 資料出來  亦可顯示正常 "栢"

    問題如果用 C#  ADO.NET  ORCAL CONNECT  連至  DB  查出來會異常

    內碼為

    ADONET  查出來的 栢:  EE 89 B9

    用記事本 UTF-8 自己輸入  栢:  E6 A0 A2

    若我將

    ADONET  查出來的 栢:  EE 89 B9

    用記事本存成    ANSI  格式  再開啟記事本  即會顯示正確的  栢


    .NET

    如何處理此問題

    我想到的方式為

    "123456".Replace("", "栢")  //  註:  為 栢:  EE 89 B9

    OUTPUT : 123栢456

    有比較好的方式處理嗎?

    謝謝

    2012年2月29日 下午 07:13

解答

  • 參考黑大的文章

    以下為簽名檔,如果你愛拉椅子坐那就是你的問題。
    先查MSDN文件庫
    再用GOOGLE搜尋
    才到論壇來發問

    這是論壇不是技術支援中心
    沒有人得無償解答你的問題

    在標題或文章註明很急
    不會增加網友回覆速度

    • 已標示為解答 HikaruGo 2012年3月1日 下午 09:38
    2012年2月29日 下午 07:43

所有回覆

  • 參考黑大的文章

    以下為簽名檔,如果你愛拉椅子坐那就是你的問題。
    先查MSDN文件庫
    再用GOOGLE搜尋
    才到論壇來發問

    這是論壇不是技術支援中心
    沒有人得無償解答你的問題

    在標題或文章註明很急
    不會增加網友回覆速度

    • 已標示為解答 HikaruGo 2012年3月1日 下午 09:38
    2012年2月29日 下午 07:43
  • 使用base64轉呢?
    2012年3月1日 上午 10:46
  • 直接使用支援 Unicode 的資料庫是比較好的選擇。

    .Net 在字串內永遠只能使用 Unicode ,所有非 Unicode 的欄位,必須透過 Byte() 保存。

    .Net 提供的 Encoding 沒辦法轉換內建以外的字碼表,必須改呼叫 API 才行。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年3月1日 下午 01:31