[問題] ASCII 128~255 問號 + Dev C 亂碼
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Dec C++
問題(Question):
之前發現有ASCII不正常顯示的問題,我就寫一個小程式去測:
int main()
{
for(int i=0;i<256;i++)
{
printf("%d %c \n",i,i);
}
system("pause");
}
發現0~30幾對應的符號都有問題,128以上全部是問號,跟表定的ASCII不一樣(A)
最近剛重灌完清大校園授權板的Windows,可以正常顯示ASCII 0~255,
但裝 Dev c++ 語系選 Chinese(TW) 全是亂碼,
知道要設定
地區及語言>非Unicode程式語言>變更系統地區設定>選 中文(繁體,台灣)
但是這樣之後 ASCII 就不能正常顯示,回到(A)問題了,
我又改回 英文(美國),ASCII又正常,全部正常顯示。
推估是中文語系問題,請問有辦法解決嗎?(Dev中文不亂碼,ASCII正常)
抱歉,對語系問題不是很瞭解,如果我有敘述有誤等不專業錯誤,敬請包涵。
另外,我不確定這種問題可不可以在這裡問,如果不行我立刻刪文。
麻煩大家了,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.169.159.77
→
11/25 14:53, , 1F
11/25 14:53, 1F
E大您好,我會研究看看setlocale
→
11/25 14:59, , 2F
11/25 14:59, 2F
K大您好,我是根據 http://goo.gl/wnXSs 的表,0~30主要為控制碼,
有些字元能顯示,有些不能,
正常顯示應該是:http://cl.ly/L6kM
而我切換成中文(繁體,台灣)會變成:http://cl.ly/L78q
這樣應該不太正常吧!
如果有認知錯誤,請指正,謝謝。
※ 編輯: ip3311 來自: 1.169.159.77 (11/25 16:18)
不好意思,我大概知道皮毛了,各個語言的ASCII 128以上都不同,
但我要如何修改程式碼,才能正常顯示英文的ASCII呢?
而且當我設成中文時 128 以前的也不正確?
setlocale有查到,但還不了解怎麼用,再研究...
目前發現有用的方法是 呼叫 system("chcp 437"); 可以直接改字碼頁。
437代表美國 950代表中文Big5
※ 編輯: ip3311 來自: 1.169.159.77 (11/25 17:25)
→
11/27 23:46, , 3F
11/27 23:46, 3F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 4 篇):