 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
SIMONSTONE
註冊時間: 2003-11-25 文章: 30
第 1 樓
|
發表於: 星期二 十一月 25, 2003 12:20 am 文章主題: XML轉換中文欄位問題 |
|
|
作業系統:WIN 2000 SERVER
開發工具:VFP 8.0 SP1 , SOAP 3.0
問題描述:我是VFP 8.0之程式新手,聽說XML可以解決WEB SERVICE 問題,故寫個程式要來測試XML之讀寫時,發生英文欄位名稱正常,而中文欄位會顯示XML之錯誤,煩請各位高手幫忙解答
程式如下:
***********************************************************************************************
LOCAL loXMLAdapter AS XMLADAPTER
LOCAL lcXMLCustomers AS STRING
LOCAL lxXML AS STRING
loXMLAdapter = CREATEOBJECT("XMLAdapter")
OPEN DATABASE "D:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO 8\SAMPLES\Northwind\Northwind.dbc"
USE customers
loXMLAdapter.ADDTABLESCHEMA("Customers")
loXMLAdapter.UTF8ENCODED = .T.
loXMLAdapter.ISDIFFGRAM = .T.
loXMLAdapter.PreserveWhiteSpace =.T.
loXMLAdapter.TOXML("lxXML")
STRTOFILE(lxXML,'D:\AP_VFP8\XML.TXT')
CLOSE TABLES ALL
LoXMLAdapter.LOADXML(LxXML)
lcAlias = JUSTSTEM(LoXMLAdapter.TABLES.ITEM(1).ALIAS)
LoXMLAdapter.TABLES.ITEM(1).TOCURSOR()
*
SELECT (lcAlias )
BROWSE
*
CLOSE TABLES ALL
*
RETURN
*********************************************************************************************** |
|
回頂端 |
|
 |
elleryq

註冊時間: 2007-06-21 文章: 768
第 2 樓
|
發表於: 星期二 十一月 25, 2003 9:19 am 文章主題: |
|
|
我猜想應該是編碼問題~
XML 對中文的編碼要求較嚴格
VFP 預設應為 UTF-8, 也就是慣稱的 Unicode
而你資料的編碼可能是 big5
因此而發生錯誤~ |
|
回頂端 |
|
 |
SIMONSTONE
註冊時間: 2003-11-25 文章: 30
第 3 樓
|
發表於: 星期二 十一月 25, 2003 10:09 pm 文章主題: |
|
|
elleryq 大大 !! THANK U
已試過所有 XMLADAPTER之相關PROPERTY,還是無解,真是頭痛
有法可解嗎? |
|
回頂端 |
|
 |
elleryq

註冊時間: 2007-06-21 文章: 768
第 4 樓
|
發表於: 星期三 十一月 26, 2003 11:38 am 文章主題: |
|
|
不要使用 utf-8
把編碼都改為 big5 試試
另外欄位名稱最好不要用中文~ |
|
回頂端 |
|
 |
SIMONSTONE
註冊時間: 2003-11-25 文章: 30
第 5 樓
|
發表於: 星期三 十一月 26, 2003 8:50 pm 文章主題: |
|
|
elleryq 大大 !! THANK U 不厭其煩陪我
1.測試 utf-8 ,Problem still exist.
2.code page 950表示編碼都改為 big5,Problem still exist.
3.欄位名稱是繼承上一位前輩所留,故中文是一定要用的.
4.請問還有辦法嗎?
愈來愈急.....,工作快不保了~~~~~~~~........sos |
|
回頂端 |
|
 |
elleryq

註冊時間: 2007-06-21 文章: 768
第 6 樓
|
發表於: 星期四 十一月 27, 2003 9:19 am 文章主題: |
|
|
你有匯出來以後的 xml 檔案嗎??
可否上傳上來看看?? |
|
回頂端 |
|
 |
SIMONSTONE
註冊時間: 2003-11-25 文章: 30
第 7 樓
|
發表於: 星期四 十一月 27, 2003 10:10 am 文章主題: |
|
|
TAHNK U
1. 測試檔名:XML.TXT
2. 其中有亂碼者其實是 客戶編號 的欄位所產生之資料. |
|
回頂端 |
|
 |
elleryq

註冊時間: 2007-06-21 文章: 768
第 8 樓
|
發表於: 星期五 十一月 28, 2003 12:22 am 文章主題: |
|
|
看過了,有幾個想法,但是苦於自己時間也不多,所以也沒去嘗試
1.自己產生 schema, 再 export; 匯入時,再給定 schema,匯入;這樣應可避免欄位名稱為中文問題.這部分可以看一下 Help.
2.改用 cursortoxml(), xmltocursor() 函數來作.這個我有小試過,是可以使用的.
cursortoxml("table1", "table1.xml", 1, 512+16, 0, "1")
xmltocursor( "table1.xml", "table1", 512+16 )
注意這邊, 512 表示第二個參數是輸出到檔案, 16 則是表示使用 cursor 的編碼來輸出.至於使用 cursortoxml() 輸出的 xml 是否可以被 xmladapter 使用,我認為應該是可以的,只是需要編碼的轉換.格式方面我大致看過,應該是可以的.
使用 xmladapter 看來是無法去改變輸出 xml 的 encoding,只能擇定 unicode=.t. 或 .f. ;若指定為 .f., vfp 又會將xml 的 encoding 給定為 "Windows 1252",而無法顯示中文. |
|
回頂端 |
|
 |
elleryq

註冊時間: 2007-06-21 文章: 768
第 9 樓
|
發表於: 星期五 十一月 28, 2003 9:32 am 文章主題: |
|
|
本來又有想到去改變 table 的 codepage 為 utf-8
但是發現缺乏相關指令
只好作罷~ |
|
回頂端 |
|
 |
SIMONSTONE
註冊時間: 2003-11-25 文章: 30
第 10 樓
|
發表於: 星期一 十二月 01, 2003 5:15 pm 文章主題: |
|
|
elleryq 大大 !! THANK U 一路陪我
1.看來 xmladapter 是無法使用中文欄位名稱,已再試過所有可能方法,但都無法成功,只能說 I quit (可能繁體中文版就不會有此問題).
2.改成英文欄位名稱後,一路順暢.
3.ENDING.........後會有期,如有互相切磋機會,post to me. |
|
回頂端 |
|
 |
elleryq

註冊時間: 2007-06-21 文章: 768
第 11 樓
|
發表於: 星期二 十二月 02, 2003 9:30 am 文章主題: |
|
|
我個人認為繁體中文版還是會有一樣的問題~~
相信我~~ |
|
回頂端 |
|
 |
Ruey
註冊時間: 2003-03-12 文章: 1698 來自: tunglo
第 12 樓
|
發表於: 星期三 十二月 03, 2003 12:01 pm 文章主題: |
|
|
不是只有XML而已,很多方面最好是英文.
一開始我早就已確認是中文方面有問題了.
可惜我不會XML. _________________ #############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!
學會VFP使用者社區的搜尋,Code才會更有趣~
############################# |
|
回頂端 |
|
 |
ezpos
註冊時間: 2011-04-20 文章: 323
第 13 樓
|
發表於: 星期三 四月 27, 2016 10:11 pm 文章主題: |
|
|
這是正確的
cursortoxml("table1", "table1.xml", 1, 512+16, 0, "1")
xmltocursor( "table1.xml", "table1", 512+16 ) _________________ ezPos收銀機 簡單好用低成本 http://www.ezpos.info
全新美觀的POS收銀機.POS軟硬體耗材.
軟體客制化.網站規劃....能賺錢的都可以找我
http://www.twelife.com 台灣生活網 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 14 樓
|
發表於: 星期四 四月 28, 2016 1:32 pm 文章主題: |
|
|
可能在 2007年發布的 vfp 9 有解.
新的 cursoradapter 印象中可以支援 utf8及xml.
不過應該還是會動很多手腳. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|