VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

請教 如何將下列文字 簡體轉成繁體,拜託

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
ms0800



註冊時間: 2004-07-23
文章: 65


第 1 樓

發表發表於: 星期二 一月 07, 2014 4:55 pm    文章主題: 請教 如何將下列文字 簡體轉成繁體,拜託 引言回覆

請教 如何將下列文字 簡體轉成繁體,拜託


declare string GBtoBIG5 in gb2big.dll string
declare string BIG5toGB in gb2big.dll string

AA = FILETOSTR('C:\UNICODE.TXT')

CC =GBtoBIG5(AA)
MESSAGEBOX(CC)
好像不是這樣子,不知錯在那裡 ??
回頂端
檢視會員個人資料 發送私人訊息
elleryq



註冊時間: 2007-06-21
文章: 768


第 2 樓

發表發表於: 星期二 一月 07, 2014 9:53 pm    文章主題: 引言回覆

UNICODE.txt 的前兩個 byte 是 feff ,這表示是 UTF-16 (請參考 http://en.wikipedia.org/wiki/Byte_order_mark)
因此檔案內容是純粹的 Unicode
GBtoBIG5() 是將 GB2312 轉為 BIG5,當然是會轉換失敗。
你應該使用 strconv() 先把 unicode 轉換為 double byte 的字串,再用你的函式來轉換 (http://msdn.microsoft.com/en-us/library/k0yb2181%28v=vs.80%29.aspx)
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
ms0800



註冊時間: 2004-07-23
文章: 65


第 3 樓

發表發表於: 星期二 一月 07, 2014 10:19 pm    文章主題: 引言回覆

CD d:\c5\EXE
declare string GBtoBIG5 in gb2big.dll string
declare string BIG5toGB in gb2big.dll string

AA = FILETOSTR('C:\UNICODE.TXT')
AA = STRCONV(AA,6)
CC =GBtoBIG5(AA)
MESSAGEBOX(CC)

不好意思,加了 AA = STRCONV(AA,6) 結果也好像不對

RETURN
回頂端
檢視會員個人資料 發送私人訊息
elleryq



註冊時間: 2007-06-21
文章: 768


第 4 樓

發表發表於: 星期三 一月 08, 2014 5:46 pm    文章主題: 引言回覆

應該是用 =strconv(aa, 7, 936, 1)

第四個參數是 1 的時候,表示第3個參數是用 code page。
這時候就可以對照 http://msdn.microsoft.com/en-us/library/dd317756%28VS.85%29.aspx
這樣可以明確的把 unicode 轉為 gb2312

6 的話,是說轉成 double byte,但不知道是哪個地方的 double byte,這時候應該是用目前 windows 的 locale,也就是如果是繁中,就用 950,意即 =strconv(aa, 7, 950, 1)

我手頭沒有 vfp ,沒辦法試
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作