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

繁體版VFP6開發的程式在 winxp簡體版執行的問題.

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


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


第 1 樓

發表發表於: 星期四 十二月 09, 2004 4:26 pm    文章主題: 繁體版VFP6開發的程式在 winxp簡體版執行的問題. 引言回覆

不知有沒有人用過這樣的環境.
如果使用的是VFP的.DBF 則存入簡體字沒問題, 但如果是使用SQL2000簡體版當成後端, 則table中有些簡體字存入後抓出來看會變成 ?? , 是table中的欄位型態是char的關係呢?, 還是因為這個database是在繁體版的SQL2000中建立的關係?還是VFP6繁體版的關係?

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



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

第 2 樓

發表發表於: 星期四 十二月 09, 2004 4:54 pm    文章主題: 引言回覆

我猜是有兩個因素:
1. ODBC 的語系設定
2. DATABASE 的語系設定

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

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


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


第 3 樓

發表發表於: 星期四 十二月 09, 2004 7:17 pm    文章主題: 引言回覆

會不會是因為欄位型態的問題, 但不知道將原先的 char 改用 nchar 會不會有使用資料上的問題.
**************************
以下是在sql server HELP 中查到的

字元字串
char

固定長度的非 Unicode 字元資料,最大長度為 8,000 個字元。

varchar

可變長度的非 Unicode 資料,最大長度為 8,000 個字元。

text

可變長度的非 Unicode 資料,最大長度為 2^31 - 1 (2,147,483,647) 個字元。

Unicode 字元字串
nchar

固定長度的非 Unicode 資料,最大長度為 4,000 個字元。

nvarchar

可變長度的 Unicode 資料,最大長度為 4,000 個字元。sysname 是一個系統支援的使用者自訂資料型別,為 nvarchar(128) 的同義資料表,用來參考資料庫物件名稱。

ntext

可變長度的 Unicode 資料,最大長度為 2^30 - 1 (1,073,741,823) 個字元。

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


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


第 4 樓

發表發表於: 星期五 十二月 10, 2004 3:41 pm    文章主題: 引言回覆

找到原因了, 因為database是在繁體版的SQL2000中建立的關係, 只要在簡體版的SQLSERVER中建立就沒有問題.
_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
liangszpt



註冊時間: 2004-11-18
文章: 262
來自: 广东省深圳市

第 5 樓

發表發表於: 星期五 十二月 10, 2004 4:06 pm    文章主題: 引言回覆

我公司做的一个项目就遇到过这种问题。TABEL是繁体的,SQLSERVER的字元集是UNICODE的。直接SAVE就会出问题,变成???的。以前我在这里问过在VFP中怎麽处理UNICODE,就是为了这个。
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
syntech



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

第 6 樓

發表發表於: 星期五 十二月 10, 2004 4:33 pm    文章主題: 引言回覆

我用的DATABASE 都是在繁體的SQL SERVER 中建立的,
只是有指定語系(定序)

在 create database 時 加入 [ COLLATE collation_name ],
那麼非 unicode 的字串欄位型態就會以 指定的語系(定序)存放,
當然如果如果是繁體定序 Chinese_Taiwan_Stroke_XX_XX,
存入簡體內碼的字串,有些字就會變成 ??
(如果該字在繁體有,顯示還是正常,偷偷轉成UNICODE ?)
反之亦然.

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

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


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


第 7 樓

發表發表於: 星期一 十二月 13, 2004 11:35 pm    文章主題: 引言回覆

本來想直接用 alter table mytable ALTER COLUMN column_name COLLATE Chinese_PRC_CS_AS
但一直不能執行來將字串欄位的定序由 Chinese_Taiwan_Stroke_CS_AS 改成 Chinese_PRC_CS_AS , 但用 ALTER DATABASE database COLLATE Chinese_PRC_CS_AS 就可以將database的定序改成簡體版的, 但這只是整個database的內定值而已, 如果各個table已有將字串指定成某種特定的定序, 那改變database的定序是無效的, 所以最後是在 sql Enterprise 中將整個database產生 重建database的SQL語法檔, 且將整個SQL語法檔中有關 COLLATE 的關鍵字通通去掉後, 執行它來產生一個都用內定"定序"的database , 這樣存入簡體的中文字就不會有問題了.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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