作者:
aligu (aligu)
2015-01-24 08:03:51請問用notepad++寫java程式時
在程式碼中輸入中文(輸入法是倉頡)後
要進行編譯時出現亂碼一直無法編譯
請問這個問題要如何解決?
爬文(包括ezsoft版)及上網搜尋了一些文章都找不到解決的方法耶
感謝
作者:
darkk6 (Mr. Pan)
2015-01-24 08:56:00你的文件 encoding 是啥? 有沒有給 javac 指定參數?
作者: aligu (aligu) 2015-01-24 09:00:00
utf-8無bom cmd: javac -d ./classes aaa.java 類似這樣
作者:
darkk6 (Mr. Pan)
2015-01-24 09:10:00win 上面記得預設不是 utf8 , 你要加參數 -encoding utf8
作者: aligu (aligu) 2015-01-24 09:48:00
@@還是沒有用耶
作者:
haha02 (來人!上夾棍!)
2015-01-24 09:48:00win預設是MS950
作者: aligu (aligu) 2015-01-24 09:49:00
所以是-encoding ms950?
作者:
haha02 (來人!上夾棍!)
2015-01-24 09:50:00encoding是要指定你檔案的encoding 系統預設不是utf8所以他看不懂utf8中文字
作者: aligu (aligu) 2015-01-24 09:51:00
yes!!成功了!!-encoding ms950就可以了!!感謝樓上二位^^(雖然還是不懂為什麼^^不過可以用了先頂著用^^)
作者:
haha02 (來人!上夾棍!)
2015-01-24 09:54:00作者: aligu (aligu) 2015-01-24 09:56:00
thx^^看了樓上h大的連結就懂了^^
你source是utf8,編譯時指定ms950,問題解決?!
作者: aligu (aligu) 2015-01-24 15:06:00
我說明一下,我原本用win的記事本寫並存src,當時應該是ansi編碼,但後來我開始用notepad++時設定新開文件編碼都採utf-8開啟,但這個設定並不是就既有的src編碼改為utf-8,實際上檔案(舊)編碼仍是ansi,但我誤以為已改成utf-8,所以當我-encoding ms950時,確實可以編譯,但實際上是誤打誤撞。後來我新開的src檔編號預設都是utf-8,編譯時用-encoding ms950時果然就不行了,因為一開始根本沒搞懂encoding的意思,後來看了上面h大的連結後弄懂了,我編譯時就改-encoding utf-8就ok了附帶一提:之前為了這個問題上網一直搜尋解決的辦法,結果看到最多的說法是:這是notepad++固有的bug、對於中文的支援不全面等等說法,甚至還有建議唯一解就是換軟體的,從來沒看到有人建議從encoding下手的。著實不可思議啊
作者:
darkk6 (Mr. Pan)
2015-01-24 16:42:00我有說給 "-encoding utf8" 啊... 害我也覺的詭異....
作者:
cpper (韓立)
2015-01-24 17:38:00為什麼不用eclipse來寫java?
作者: aligu (aligu) 2015-01-24 19:42:00
我是看codedata的教學學java的,它說一開始學不要先用IDE寫
作者:
haha02 (來人!上夾棍!)
2015-01-25 00:29:00等對語法跟classpath之類的參數熟一點之後再轉IDE吧~碰過直接從IDE入門的對這些基礎概念可說是完全沒有 傻眼
作者:
darkk6 (Mr. Pan)
2015-01-25 10:19:00我也是建議別直接用IDE
作者:
cpper (韓立)
2015-01-27 16:15:00其實這不就跟學開車一樣,總是會被駕訓班騙去學手排車,然後理由就是知道換檔知識、機械常識巴拉巴拉一堆,等考到駕照後卻是開一輩子自排車,連手排車都不想去碰既然這樣那為何不一開始就學自排車?IDE爭議也是這樣,你一輩子也不會用Notepad++寫專案而是用Eclipse或其它IDE, 那為啥不一開就學Eclipse,找本好的教你用Eclipse寫Java的書來看?你在用notepad++和command line下參數跑javac,java這些東西在Eclipse教學書也會講...
作者: aligu (aligu) 2015-01-29 01:13:00
感謝c大的建議,我會去找eclipse的書來看看,thx^^