以下為本站文章分類清單

  1. AJAXspacer
  2. ASPspacer
  3. CSSspacer
  4. Javascriptspacer
  5. Windows 應用程式spacer
  6. 網頁設計
  7. 評論、短文、雜文spacer
  8. 版主spacer
  9. 最新回應spacer

以下為本頁本文內容

MS-SQL2000 儲存 UTF-8 的亂碼問題

7/27 08' icon

錯誤的情況是以 utf-8 編碼的前台頁面,存入 MS-SQL 2000 後,部份 utf-8 字碼會變亂碼。以我的主機而言,存入部份簡體字時,就是亂碼。根據微軟的官方說法,是 unicode 字元不同所導致。

原因是找到了,但官方說法中,並沒有提出很有效的解決方案。先來看發生的情況:

會發生亂碼的情況:

不會發生亂碼的情況:

也就是說,如下語法,可能會發生亂碼情況:

insert into member (memberID,memberName) Values ('Audi','王小东')

這個時候,MS-SQL 中的資料,就可能變成「王小?」,同樣情況也發生在使用 update 更新資料列時。

而如果是以 Recordset 方式新增,則不會發生亂碼,如下:

objRec.AddNew
objRec("memberID")="Audi"
objRec("memberName")="王小东"
objRec.Update

如果是用這個方法,只要執行寫入資料庫的頁面,設定好編碼語系,多半就沒有問題。

可行的解決方案:

根據一份非官方說法,加上實作測試的結果,有以下內容,你可以考慮加在頁面中:

以上是兩個很基本的設定,但仍無法解決問題,因為這個亂碼問題來自 MS-SQL 本身,所以你在頁面中再怎麼使力,完全沒用,我找到了一條方案,各位不妨試試,我的實作成功而有用,只不過花了很多時間,改了上百支程式就是了!

方法是:把 insert into 及 update 語法中傳值的部份,加上「前置詞 N」,有興趣的人,可以查看微軟官方文件

也就是修正成以下寫法:

insert into member (memberID,memberName) Values (N'Audi',N'王小东')

使用 update 時,也比照辦理,好了!祝你順利!

以下為文章回應區

同意轉載,不過麻煩看一下轉載需知

obat pelurus rambut   2014/3/9 下午 02:06:00

Thank you for sharing usefull information.. I have bookmark your website..

sepatu crocs   2014/3/9 下午 02:05:00

i have bookmark your blog.. thank you for sharing.. i would like sharing your blog to my friend in our country..

suplemen fitness   2014/3/9 下午 02:04:00

wow.. increadible sharing.. thank you for let me post on your blog..

obat pelangsing badan   2014/3/2 下午 09:31:00

Great Share.. Thank you for sharing.. It very helpful.. I hope my comments can motivate you to make another useful blog..

obat penumbuh rambut   2014/3/2 下午 09:31:00

very usefull.. great post.. awsomew

baju batik   2014/3/2 下午 09:30:00

我也遇到了這個問題,一直到現在都無解,
看了您的方法後,也覺得要改幾佰支程式,也不想解了,
聽說把資料庫升級到2005應該可以較簡單吧,
但我也還沒有去做,還不知是否可行

baju batik   2014/3/2 下午 09:30:00

waw... It pretty awsome what are you write for.. thank you.. It benefit for us..

suplemen fitness   2014/3/2 下午 09:29:00

wawww very damn awsome about what your write for... thank you...

alat alat salon   2014/3/2 下午 09:29:00

great article.. thank you for sharing.. I very happy read your article.. Terima kasih

replica watches   2011/2/12 下午 04:00:00

求解中in

archer   2009/4/18 下午 03:16:00

我也遇到了這個問題,一直到現在都無解,
看了您的方法後,也覺得要改幾佰支程式,也不想解了,
聽說把資料庫升級到2005應該可以較簡單吧,
但我也還沒有去做,還不知是否可行

給個回應
姓名:
佈落格網址:
  如果您是要發問問題, 最好有個問題測試的網址, 這樣比較容易找到您問題所在, 謝謝
內容: