注: 这是个非正规解决方案
从键盘输入到String,既不能还原中文字(乱码一佗)
网上存在的:
1.
在jdk15以后,只需在~/jre/lib/fonts/下建一个fallback目录,把你想在java中使用的字体烤贝到这个目录中即可
以下方法在fc6下测试通过,假设用户的jre路径为 /usr/java/jdk1.6.0_03/jre/
cd /usr/java/jdk1.6.0_03/jre/lib/fonts
sudo mkdir fallback
PS:对我本人那台机,没效 -_-
2.
强制转码 比如new String(path.getBytes("UTF-8"),"GBK")
.................
................
很多自己找着看
3.
系统默认编码为:GBK
输入也是强制设为 GBK
本人愚笨,可能是理解错误吧,都没用
愚蒙之极,自己试试,
首先,系统默认编码为:UTF-8
UTF-8 能包括几乎所有因为3bytes表示
接着,
byte nativeBytes[] ;
String nativeStr;
BufferedReader reader= new BufferedReader(new InputStreamReader(System.in,"UTF-8"));
nativeBytes=line.getBytes("UTF-8");
nativeStr = new String(nativeBytes);//UTF8 转unicode 【1】
///
下面是 GB2312 unicode 之间转换
unicode to GB2312
nativeBytes=myfunction(nativeStr.getBytes("GB2312"), 2);//myfunction() 无关,这里只是show how to chang unicode to
GB2312 to unicode
nativeStr= new String(nativeBytes,0,nativeBytes.length,"GB2312");/这个注意哦 不同【1】
PS:网上有很多资源,实在懒才看看这里吧
另外 在单纯用console下用java 和javac的话 可以 javac (java也是) file.java -enconding GB2312
---------Ok拉