﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-何去何从-文章分类-java</title><link>http://www.blogjava.net/jiajw0426/category/42169.html</link><description>明日复明日，

明日何其多，

我生待明日，

万事成蹉跎。</description><language>zh-cn</language><lastBuildDate>Wed, 14 Oct 2009 06:45:09 GMT</lastBuildDate><pubDate>Wed, 14 Oct 2009 06:45:09 GMT</pubDate><ttl>60</ttl><item><title>ubuntu中tomcat下jsp字体呈方块解决方法</title><link>http://www.blogjava.net/jiajw0426/articles/298207.html</link><dc:creator>贾小二</dc:creator><author>贾小二</author><pubDate>Wed, 14 Oct 2009 06:25:00 GMT</pubDate><guid>http://www.blogjava.net/jiajw0426/articles/298207.html</guid><wfw:comment>http://www.blogjava.net/jiajw0426/comments/298207.html</wfw:comment><comments>http://www.blogjava.net/jiajw0426/articles/298207.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiajw0426/comments/commentRss/298207.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiajw0426/services/trackbacks/298207.html</trackback:ping><description><![CDATA[<span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">在ubuntu现开发web项目，采用编码GBK的发现，项目运行起来之后jsp页面中从数据库中拉取的数据中文字体显示为小方块。最终找到了解决方法。<br />
1 首先解决java代来的字体问题，对于jdk1。6解决方法比较简单，在$JAVA_HOME/jre/lib/fonts新建目录fallback直接把相应的中文字体(我用的simsun.ttc)，复制到该目录下。其他版本的jdk相对比较复杂一些可以到网上搜索解决方案。<br />
2 第一部完成之后发现，又报表声称图片中的字体正常显示，但数据中拉的中字体还是有很多。现在仔细看一下已经不是没有字体了是乱码问题。剩下的问题有两种解决方法<br />
&nbsp;&nbsp;&nbsp; （1） 修改$TOMCAT_HOME/BIN/CATALINA.SH,在最上面添加一行<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CATALINA_OPTS=-Dfile.encoding=GBK<br />
&nbsp;&nbsp;&nbsp; （2）在shell下<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; locale<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 命令发现linux默认的locale是utf－8 在命令行键入&nbsp; LANG＝&#8220;zh_CN.GBK&#8221;,然后在键入locale 命令，没有一下警告<br />
&nbsp;&nbsp;&nbsp; locale: Cannot set LC_CTYPE to default locale: No such file or directory<br />
&nbsp;&nbsp;&nbsp; locale: Cannot set LC_MESSAGES to default locale: No such file or directory<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; locale: Cannot set LC_ALL to default locale: No such file or directory<br />
&nbsp;&nbsp; 则问题解决了。<br />
如果有此警告，sudo vi /var/lib/locales/supported.d/local<br />
&nbsp; 修改在末尾加入<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zh_CN.GBK GBK<br />
然后&nbsp;&nbsp;&nbsp;&nbsp; 用命令sudo locale-gen 重新生成locale。问题的一解决。<br />
<br />
&nbsp;&nbsp; 归根是因为jvm的编码的问题，因为jvm默认的依赖本地编码，在（1）中是强行设置jvm的编码。而（2）是修改本地编码。解决方法不一样，但是目的却是一样。</span>
<img src ="http://www.blogjava.net/jiajw0426/aggbug/298207.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiajw0426/" target="_blank">贾小二</a> 2009-10-14 14:25 <a href="http://www.blogjava.net/jiajw0426/articles/298207.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>