Android 1.5 中文乱码
在网上找到解决方案,现在复制过来,备忘:
现象:Layout Editor中不能显示中文控件信息
原因:因为SDK在绘制控件时加载的是自身的字体(在目录:ANDROID_SDK/platforms/android-1.5/data/fonts中),而本身android 1.5中默认加载的字库不支;
解决办法:修改sdk中字体相关的配置
(修改ANDROID_SDK/platforms/android-1.5/data/fonts/fonts.xml文件)
旧的fonts.xml的内容:
<fonts>
<font ttf="DroidSans">
<name>sans-serif</name>
<name>arial</name>
<name>helvetica</name>
<name>tahoma</name>
<name>verdana</name>
</font>
<font ttf="DroidSerif">
<name>serif</name>
<name>times</name>
<name>times new roman</name>
<name>palatino</name>
<name>georgia</name>
<name>baskerville</name>
<name>goudy</name>
<name>fantasy</name>
<name>cursive</name>
<name>ITC Stone Serif</name>
</font>
<font ttf="DroidSansMono">
<name>monospace</name>
<name>courier</name>
<name>courier new</name>
<name>monaco</name>
</font>
<fallback ttf="DroidSansFallback" />
<fallback ttf="DroidSansJapanese" />
</fonts>
修改后的fonts.xml的内容:
<fonts>
<font ttf="DroidSans">
<!--
<name>sans-serif</name>
-->
<name>arial</name>
<name>helvetica</name>
<name>tahoma</name>
<name>verdana</name>
</font>
<font ttf="DroidSerif">
<name>serif</name>
<name>times</name>
<name>times new roman</name>
<name>palatino</name>
<name>georgia</name>
<name>baskerville</name>
<name>goudy</name>
<name>fantasy</name>
<name>cursive</name>
<name>ITC Stone Serif</name>
</font>
<font ttf="DroidSansMono">
<name>monospace</name>
<name>courier</name>
<name>courier new</name>
<name>monaco</name>
</font>
<font ttf="DroidSansFallback" >
<name>sans-serif</name>
</font>
<font ttf="DroidSansJapanese" />
</fonts>
修改后就重新启动eclipse就可以正常显示中文。
注:如果改完fonts.xml文件后,eclipse不能正常启动(启动时workspace还没有初始化完成就自动退出),请不要着急,请查一下当前环境下JDK的版本,如果要想正确加载中文字库,要求jdk版本至少为‘1.5.0_16’,安装一个高版本的JDK就可以啦。