為何中文顯示為亂碼 |
答題得分者是:Mickey
|
Jasonwong
版主 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
我有在貴站下載了BDE的安裝程式~~安裝之後去RUN程式~~結果發現只要是有中文的地方全部都是亂碼~~可是我只要安裝了DELPHI 7就不會了~~
我的問題是~~會產生亂碼是不是BDE造成的~~如果是的話~~我是不是少了什麼東西沒有安裝呢~~ OS: Windows 2000 ADV Server
TOOL: DELPHI 7.0
BDE: 5.11
Database: SyBase --
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心 |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
可能是你的 'LANGDRIVER' 參數未設定正確.
1. BDE Alias 'LANGDRIVER' 參數 -> 'Paradox Taiwan 950'.
若 Alias 'LANGDRIVER' 參數未設定, 則會依照 system 的設定 :
2. run BDE Administrator -> configuration page
-> system -> init -> LANGDRIVER. 最好是 2. 設定正確, 這樣以後各 BDE Alias 便可留空.
|
Jasonwong
版主 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
引言: 可能是你的 'LANGDRIVER' 參數未設定正確. 1. BDE Alias 'LANGDRIVER' 參數 -> 'Paradox Taiwan 950'. 若 Alias 'LANGDRIVER' 參數未設定, 則會依照 system 的設定 : 2. run BDE Administrator -> configuration page -> system -> init -> LANGDRIVER. 最好是 2. 設定正確, 這樣以後各 BDE Alias 便可留空.由於我的程式是在程式執行時以動態的方式指定DRIVE NAME的方式~~故在我的程式中~~我是沒有用到 ALIAS NAME 的~~ 我將我寫在 INI 檔內的參數列出來(全部都有值,有一些我把他刪掉了) [Params] DriverName=SYBASE DATABASE NAME= SERVER NAME= USER NAME= HOST NAME=server ENABLE BCD=TRUE PASSWORD= P.S: 對了~~我有照你的方法去做~~結果~~你猜~~嘻~~ -- 聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心 |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
Jasonwong
版主 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
引言:引言: P.S: 對了~~我有照你的方法去做~~結果~~你猜~~嘻~~哇咧...被你逗的好癢 >>< face="Verdana, Arial, Helvetica"> 嘻~~我以為你會看的懂我的意思(SORRY囉) 答案是不行啦~~還是一樣是亂碼~~ 所以我在想是不是我用DRIVE NAME而不是用ALIAS NAME的關係~~ 所以我才把參數檔的內容列出來的~~ -- 聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心 |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
1. 用 SQL Explorer 去 Open 也是亂碼 ?
2. Sybase Version ?
3. locale.dat (%SYBASE_HOME%\locale 目錄下), [NT] Section 是不是如下:
[NT] locale = enu, us_english, iso_1 locale = fra, french, iso_1 locale = deu, german, iso_1 locale = rus, russian, cp1251 locale = hun, us_english, cp1250 locale = ell, us_english, cp1253 locale = heb, us_english, cp1255 locale = ara, us_english, cp1256 locale = trk, us_english, cp1254 locale = esp, spanish, iso_1 locale = jpn, japanese, sjis locale = japanese, japanese, sjis locale = chs, chinese, eucgb locale = cht, tchinese, big5 ; locale = kor, korean, eucksc locale = us_english.utf8, us_english, utf8 locale = default, us_english, iso_14. 下SQL : sp_configure "character" 結果如何 ? 5. BDE Administrator -> Configuration -> Drivers -> Native -> SYBASE 之 LANGDRIVER = ? 發表人 - Mickey 於 2003/04/17 15:51:38 |
Jasonwong
版主 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
1. 用 SQL Explorer 去 Open 也是亂碼 ?
是地~~一樣亂碼~~可是我用ODBC去連就正常了~~好奇怪~~
2. Sybase Version ?
Ver: 12.5
3. locale.dat (%SYBASE_HOME%\locale 目錄下
[NT] locale = enu, us_english, iso_1 locale = fra, french, iso_1 locale = deu, german, iso_1 locale = rus, russian, cp1251 locale = hun, us_english, cp1250 locale = ell, us_english, cp1253 locale = heb, us_english, cp1255 locale = ara, us_english, cp1256 locale = trk, us_english, cp1254 locale = esp, spanish, iso_1 locale = jpn, japanese, sjis locale = japanese, japanese, sjis locale = chs, chinese, eucgb locale = cht, tchinese, big5 ; locale = kor, korean, eucksc locale = us_english.utf8, us_english, utf8 locale = default, us_english, iso_14. 下SQL : sp_configure "character" 結果如何 ? 一直出現語法錯誤~~不認識 sp_configure 5. BDE Administrator -> Configuration -> Drivers -> Native -> SYBASE 之 LANGDRIVER = ? 原本為空白~~可是我給他設了 Paradox Taiwan 950 ~~去RUN程式~~結果~~你再猜一下~~ (提示:不必太樂觀) -- 聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心 |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
Jasonwong
版主 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
引言: 哇咧...都得鬼. 1. 下 SQL : set char_convert off 2. select ... //有中文 Data 結果 ? 3. 下 SQL : set char_convert iso_1 4. select ... //有中文 Data 結果 ? Note : 要同一個 Connection 喔. "sp_configure" 可能只有 login user = "sa" 才有權用. 發表人 - Mickey 於 2003/04/17 16:58:25你的意思是不是要寫程式下去RUN啊~~ -- 聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心 |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
Jasonwong
版主 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
1. 下 SQL : set char_convert off
2. select ... //有中文 Data
結果: set char_convert off 會變成亂碼,改成ON就正常顯示中文了 3. 下 SQL : set char_convert iso_1
4. select ... //有中文 Data
結果:這個則沒影响,一樣正常顯示中文 5.順便問,BDE Administrator -> Configuration -> Drivers -> Native -> SYBASE 之 DLL32 = SQLSSC32.DLL 嗎?
結果:原本為SQLSYB32.DLL我已經改成SQLSSC32.DLL了 請教一下,可以跟我解釋一下上面的動作有何意思嗎?
還有~~雖然SQL EXPLEROR可以正常顯示中文~~但程式裡仍然顯示亂碼~~ --
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心 |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
綜合以上 Trouble-Shooting :
1. SQLSYB32.DLL 是 DB-LIB (locale.dat 設定無效; BDE 好像從 5.x 以後不支援)
2. SQLSSC32.DLL 是 CT-LIB (這是正確的選擇)
3. Sybase SQL Server 的 CharacterSet 一定不是 iso_1 ( 因為
set char_convert off; 叫 Server 不要幫忙轉換 character, 結果用
Paradox taiwan 950 Language Driver 無法正常 Display 中文 ),
如果 Server OS 是 Windows Base, Sybase Install 時預設 CharcaterSet is
"cp850".
4. SQL Expolrer 能正常, Application 應該也可以...有重新 Bulid Application 過嗎 ? 我沒有你的環境, 細節可能需要自己 Try...有問題再 po
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |