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

這是Unicode的問題對嗎?不是說VFP可以【處理】?Unicode(不是顯示)!
前往頁面 1, 2  下一頁
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
黃澤民



註冊時間: 2003-09-08
文章: 65
來自: 新竹

第 1 樓

發表發表於: 星期三 三月 31, 2010 7:56 am    文章主題: 這是Unicode的問題對嗎?不是說VFP可以【處理】?Unicode(不是顯示)! 引言回覆

我想用Excel來處理些試算表,我曾經有看過Chris Lee 發表的訊息說
VFP可以處理Unicode的文字(不是顯示),那請問我附上的文件,
利用Excel來處理Unicode文字似乎有問題,請教各位先進,我是哪裡錯了嗎?


黃澤民 在 星期四 四月 08, 2010 1:03 pm 作了第 1 次修改
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 2 樓

發表發表於: 星期三 三月 31, 2010 8:33 am    文章主題: 引言回覆

可以處理 = 要自己想辦法處理. XD
_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
ckp6250



註冊時間: 2004-07-30
文章: 1642


第 3 樓

發表發表於: 星期三 三月 31, 2010 8:59 am    文章主題: 引言回覆

syntech果然又回復原來的風格了。
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 4 樓

發表發表於: 星期四 四月 01, 2010 12:04 am    文章主題: 引言回覆

unicode並不是萬能吧

會不會是EXCEL的字型去影響到?
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
黃澤民



註冊時間: 2003-09-08
文章: 65
來自: 新竹

第 5 樓

發表發表於: 星期四 四月 01, 2010 7:28 am    文章主題: 引言回覆

我知道一定是UNICODE的問題,可是我還沒有找到方向
我還在努力,應該是STRCONV()這個FUNCTION可以克服
可能我對於 CodePage-950 UTF-8 Single-Byte Double-Byte Unicode
這幾個參數轉換還搞不懂,唉...努力中....
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2157


第 6 樓

發表發表於: 星期四 四月 01, 2010 9:08 am    文章主題: 引言回覆

你仔細去看所有提到 unicode 的討論, 你就會有一些領悟,
針對你提的案例而言,
只要加上一行 vfp9 的函數
SYS(3101,65001)
你就可以正常的工作了.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 7 樓

發表發表於: 星期三 四月 07, 2010 4:16 pm    文章主題: 引言回覆

SYS(3101,65001) 是讓com物件使用 code page 65001 (UTF- 8 ) 頁碼顯示資料.
如果你沒下這行就會以程式預設的code page顯示,
結果就是樓主那樣.



這樣大致可解決使用 "m$ forms 2.0 textbox"及"m$ forms 2.0 label" 物件以顯示 unicode 字串的問題.
也就是在vfp form中顯示unicode文字是可行的.

不過也還是得解決資料儲存及儲存後拿出來顯示的問題.

有的人是用下列方式作互換
代碼:

REPLACE TABLE1.UNI_STR WITH STRCONV( F20_TEXTBOX.TEXT,13)

F20_TEXTBOX.TEXT = STRCONV( TABLE1.UNI_STR,14)


神作也是說利用中立的 binary 或是 UTF-8,等等格式儲存.
但是很明顯的,
你將無法使用
代碼:

SEEK '紅海集團'

這樣的方式搜尋資料.
因為你要變成
代碼:

SEEK   STRING_TRANSLATION('紅海集團')

才可以.
這個工程實在太大.


其他還是乖乖參閱神作:
http://www.west-wind.com/presentations/foxunicode/foxunicode.asp#UnicodeWithSPT

Using Unicode in Visual FoxPro Web and Desktop Applications





還有很長的路要走的.
早點放棄可能比較快. XD



順便再說一句,
CODEPAGE 65001 並非VFP所有版本所認可的CODEPAGE,
所以你無法使用 CPDBF,CPCONVERT,......等函式硬轉.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
ckp6250



註冊時間: 2004-07-30
文章: 1642


第 8 樓

發表發表於: 星期三 四月 07, 2010 5:13 pm    文章主題: 引言回覆

syntech 寫到:

還有很長的路要走的.
早點放棄可能比較快.


放棄當程式設計師最快啦。 Rolling Eyes
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
黃澤民



註冊時間: 2003-09-08
文章: 65
來自: 新竹

第 9 樓

發表發表於: 星期三 四月 07, 2010 9:32 pm    文章主題: 引言回覆

謝謝以上前輩的指導,大致上可以使用於OLE物件(EXCEL),於cell內顯示原本為unicode的文字
1.如果使用以下的語法...copy to myfile sdf...這個是OK的(存成UTF-8的檔案格式...文字檔)
2.但是使用以下的語法...copy to myfile xls...這樣就會有問題(還是會出現??號...xls的檔案格式)
以上的第2種方法,雖然可以使用程式的方法一行一行輸出(效率差了點),總算可以克服。
不過已經可以解決我大部分的問題。
雖然顯示於VFP視窗的問題還有待努力(使用forms2.0的textbox / label)似乎還是不足的。
儲存的問題也還好。總之 謝謝先進的指導,再次感謝了...
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
aizz



註冊時間: 2007-01-29
文章: 171


第 10 樓

發表發表於: 星期四 四月 08, 2010 8:40 am    文章主題: 引言回覆

黃澤民 寫到:
謝謝以上前輩的指導,大致上可以使用於OLE物件(EXCEL),於cell內顯示原本為unicode的文字
1.如果使用以下的語法...copy to myfile sdf...這個是OK的(存成UTF-8的檔案格式...文字檔)
2.但是使用以下的語法...copy to myfile xls...這樣就會有問題(還是會出現??號...xls的檔案格式)
以上的第2種方法,雖然可以使用程式的方法一行一行輸出(效率差了點),總算可以克服。
不過已經可以解決我大部分的問題。
雖然顯示於VFP視窗的問題還有待努力(使用forms2.0的textbox / label)似乎還是不足的。
儲存的問題也還好。總之 謝謝先進的指導,再次感謝了...




雖然雞同鴨講, 問題的人與回答的人內容完全不搭ㄍㄚ --------
不過, 自己可以想辦法抓到老鼠的貓, 就是好貓

Laughing
回頂端
檢視會員個人資料 發送私人訊息
黃澤民



註冊時間: 2003-09-08
文章: 65
來自: 新竹

第 11 樓

發表發表於: 星期四 四月 08, 2010 9:49 am    文章主題: 引言回覆

會雞同鴨講嗎?我怎麼覺得我可以了解6樓跟7樓的說明,而且獲益良多,也已經解決目前我的問題(雖然還不能完全了解)
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 12 樓

發表發表於: 星期四 四月 08, 2010 10:35 am    文章主題: 引言回覆

1,2 有差,
因為 EXCEL 內部已經是UTF-8 編碼,

用 COPY TO XLS直接產生XLS,EXCEL會以為已經經過轉換,
而 COPY TO SDF,則是把目前的"資料"直接輸出文字檔,EXCEL讀入時就會轉換一次,所以顯示正常.

之前我買過一個 FRX直接轉XLS的物件,就發生這種情況,
這家美國公司把未經過轉換的DBCS資料直接拋到XLS檔中,造成顯示都變成亂碼,
(為什麼知道?因為用ULTRAEDIT開16進位編輯模式出現正確的中文字. Orz )
用我破破的英文解釋給他們聽,好像也聽不懂.
只好封印起來.

當然用1樓的方法就比較慢,但是沒問題,顯示也會正常 (當然是執行過 SYS(3101,65001)之後)
我覺得用1樓的方法產生EXCEL 報表比較沒問題.
應該樓主原先就打算產生EXCEL 報表吧.



沒有雞同鴨講.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
黃澤民



註冊時間: 2003-09-08
文章: 65
來自: 新竹

第 13 樓

發表發表於: 星期四 四月 08, 2010 12:57 pm    文章主題: 引言回覆

謝謝syntech的說明
原來其實我的用法是...由使用VFP寫程式...連接ACCESS資料庫...取出ACCESS的TABLE...SELECT成為CURSOR
處理CURSOR...產生EXCEL的列印報表...完工。當然如果能夠直接輸出成為XLS最理想
但是不能直接輸出成為XLS,那麼退而求其次...使用OLE的方式產生XLS的檔案格式也行...就是慢了些。
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
ckp6250



註冊時間: 2004-07-30
文章: 1642


第 14 樓

發表發表於: 星期五 四月 09, 2010 11:54 am    文章主題: 引言回覆

直接輸出可能是不很理想的做法
日期欄位或者那些純數字的文字欄位,比如電話,公司統編等等
直接輸出成 XLS , 可能都會變成數值
萬一前面有「0」,比如電話號碼【075541234】,
直接輸出到XLS,第一個0就會不見啦
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 15 樓

發表發表於: 星期五 四月 09, 2010 3:22 pm    文章主題: 引言回覆

加上一些特殊的前綴字就可以了.
_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 1, 2  下一頁
1頁(共2頁)

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


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