線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1669
推到 Plurk!
推到 Facebook!

SQL Server2000 如何儲存GB碼?

答題得分者是:Mickey
ERICSUNG
一般會員


發表:9
回覆:17
積分:5
註冊:2002-04-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-15 05:25:35 IP:61.224.xxx.xxx 未訂閱
公司在Win2000 Server繁體版下的SQL Server2000 想要同時儲存 簡體GB碼的資料, 請問可辦到嗎?
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-01-15 08:17:35 IP:210.202.xxx.xxx 未訂閱
引言: 公司在Win2000 Server繁體版下的SQL Server2000 想要同時儲存 簡體GB碼的資料, 請問可辦到嗎?
可以辦到, SQL Server可以存Uni-Code, 但是Delphi的標準元件都不支援所以您無法利用Delphi的元件輸入Uni-Code到SQL資料庫中! 若您的簡體與繁體資料為不同Record, 可以利用Flag標明本Record採用BIG5或GB碼, 然後動態改變顯示元件的字體 (細明體或SIMSUN)! 以上有問題再問! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-01-15 10:52:55 IP:61.219.xxx.xxx 未訂閱
引言: 公司在Win2000 Server繁體版下的SQL Server2000 想要同時儲存 簡體GB碼的資料, 請問可辦到嗎?
1.基本上 MS SQL SERVER 2000 應該有支援多國語言 Data CharacterSet.
2.Server 使用 UniCode 雖可確保 CharacterSet Convert 沒問題,但舊系統須注意 Chatacter Based Column
  DataType Length 可能會有不足(因中文一個字需要3或4個Bytes儲存空間).
3.因 MS SQL SERVER 2000 Client 走 DB-Lib, 故 Client 的 Connect Information
  必定來自於該 Client Computer的環境變數, 不像 CT-Lib 可自由設定 (透過 locale.dat file),
  也就是說, Client Computer OS 之 code page 即決定了 Connection Information 中
  Client CharacterSet 部分.
4.如果有一台 Client Computer OS codepage=936(Simple Chinese),
  connect to Server (CharacterSet is Big5), Server 應會自動 Map Chatacters from GB to Big5
  (因為都是 2 bytes chatacter),不過這點我沒測試過(因為沒有多餘的機器讓我灌 Simple Chinese OS).
/* 使用中文很辛苦,中華男兒當自強 */
ERICSUNG
一般會員


發表:9
回覆:17
積分:5
註冊:2002-04-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-01-15 17:58:03 IP:210.243.xxx.xxx 未訂閱
站長與Mickey大大, 謝謝您們的回覆. 近日決定灌一簡體版Win2000 測測看,如有結果再報告. 剛才在Win2000的繁體環境上, 用Tnt支援UniCode的DBEdit元件 測試,(無論是用Big5或SimSun字集)輸入簡體時正常, 但儲存後 簡體字就變成?? 在繁體的OS之下能否將SqlServer 認定[Client Computer的環境變數] 調為簡體呢? 發表人 - ERICSUNG 於 2003/01/15 17:59:24
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-01-16 11:55:50 IP:61.219.xxx.xxx 未訂閱
引言: 站長與Mickey大大, 謝謝您們的回覆. 近日決定灌一簡體版Win2000 測測看,如有結果再報告. 剛才在Win2000的繁體環境上, 用Tnt支援UniCode的DBEdit元件 測試,(無論是用Big5或SimSun字集)輸入簡體時正常, 但儲存後 簡體字就變成?? 在繁體的OS之下能否將SqlServer 認定[Client Computer的環境變數] 調為簡體呢? 發表人 - ERICSUNG 於 2003/01/15 17:59:24
MSSQL2000 似乎已把相關機制關閉了. 以前 MSSQL 6.5 沿襲 Sybase 10.x 於 isql.exe 可以有 -J [codepage] 選項, 並可以於 connected 後,用 'set char_convert [codepage]' 強制改變 connection information, 不知從哪一版起,拿掉了. 只保留 bulk copy 仍有這樣的機制,大致上測試了一下, 證明我上述的回覆應該是可行的. 測試方法 :
1. Use BCP Utility (In DOS Prompt):
   bcp ... -C 936    2. Use SQL:
   BULK INSERT [TableName] FROM '[FileName]'
   WITH ( CODEPAGE = 936 )    
/* 使用中文很辛苦,中華男兒當自強 */
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-01-16 15:36:41 IP:211.78.xxx.xxx 未訂閱
引言: 公司在Win2000 Server繁體版下的SQL Server2000 想要同時儲存 簡體GB碼的資料, 請問可辦到嗎?
我知道有一家公司有BIG5-GB在資料庫間互轉的工具(不是LIB, 是TOOL) 可以解決資料互轉問題, 但沒有提供LIB包在程式中來呼叫, 可以用WINEXEC來執行! 不知有沒有興趣?
ERICSUNG
一般會員


發表:9
回覆:17
積分:5
註冊:2002-04-26

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-01-16 15:49:00 IP:210.243.xxx.xxx 未訂閱
謝謝提供資訊, 但如果不能在RunTime執行, 那可能不能符合我們公司的需求. 最好能提供多一點資料, 好進一步了解. Thanks anyway!
系統時間:2024-05-19 6:52:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!