javalinux亂碼
『壹』 java String.charAt在linux下獲取中文怎麼是亂碼
跟編碼有關。試試有結論再告訴你。
1、跟Eclipse的編碼設定有關。具體路徑:Windows->Preferences->General->Workspace中有一個設定項為「Textfileencoding」,這個選項指定了保存源碼時使用的編碼方式。我看了一下在Window下選項為Default(GBK),Linux下該選項為Default(UTF-8),編碼方式的不同,決定了「我是中國人」轉換成Byte數據不同。這就是為什麼在Window下和在Linux下不同結果的原因。
2、在Linux環境下,通過修改上述設定項為Other:GBK,可以得到和Window下的同樣效果。修改後的設定截圖如下:
『貳』 在linux下編輯的的java文件在window下顯示亂碼亂碼
linux一般用UTF8編碼的。WINDOWS是用gbk的。所以有漢字的時候會亂碼,沒漢字的時候換行也會出問題。你可以用一些高級點的文本編輯器或者使用IDE,比如說你用JCreator打開就可以了。
補充:你用什麼IDE的?如果你直接從命令行編譯的,可以通過javac的參數來指定字元集,即javac -encoding utf8 文件名。
『叄』 linux下的java通過ftp讀取另一linux下的文件名出現中文亂碼。
需要轉一下編碼,你的java的class文家中是GBK的編碼,對面linux下是iso8859-1編碼
String fileNameTmp = new String(files[i].getBytes("iso-8859-1"), "GBK");//將從linux取得的文件名轉換為GBK編碼
String filename=fileNameTmp .substring(regStr.length()+1,fileNameTmp .length());
然後再把轉完編碼的文件名按你的要求進行截取
『肆』 java在linux下遍歷文件夾,文件名中文亂碼的問題
Java 中的字元編碼默認是Unicode
用new String(files[i].getName().getBytes("UTF-8"),"UTF-8");試下看
『伍』 通過java控制linux環境下解壓文件夾後中文文件名是亂碼
將linux當前環境設置為中文環境即可。
修改/etc/sysconfig/i18n 文件
LANG="zh_CN.GB2312"