<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[使用SecureCrt 连 linux 现现乱码write error, conversion failed (make fenc empty to override)的解决]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Sat, 21 Jul 2012 03:23:55 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	今天在FreeBSD上调试代码时，突然我的jar出现了这个错误！上网找了好多资料没有找到解决的办法，后来问同事才解决 了这个问题！(*^__^*) 嘻嘻……<br/>问题：E513: write error, conversion failed (make &#039;fenc&#039; empty to override)&quot;<br/>原因：新建的文件编码有问题。<br/>解决办法：<br/>先查看一下当前的编码：<br/>：set fenc?<br/>如果不是utf-8的编码格式，用下面的命令改成utf-8的格式<br/>：set fileencoding=utf-8<br/>就可以解决了！我的问题是这样解决的！仅供参考！<br/><br/><br/>问题：SecureCrt终端上出现乱码,具体表现有:<br/>1、tail log 汉字无法正确显示<br/>2、当db中有汉字时无法正确显示<br/>3、无法从SecureCrt上正确复制汉字<br/>4、vim打开文本出现乱码<br/>5、vim 打开代码文件，无法硬编码汉字，出现如下提示：<br/>&quot;char2py.cpp&quot; E513: write error, conversion failed (make &#039;fenc&#039; empty to override)<br/>储备知识：<br/>1、首先了解下什么是locale，参考资料：http://www.linuxso.com/linuxpeixun/13686.html<br/>2、影响到显示乱码的部分有系统的locale设置、SecureCrt本身的设置、vim的设置、mysql的设置……总之任何一个地方都有可能导致乱码。<br/>3、分情况来讨论：<br/>1）tail log 中的汉字为乱码。<br/>首先确认下locale中所使用的编码方式，公司默认设置为en_ZH.UTF-8，即使用UTF-8的编码方式。<br/>查看SercureCrt的设置，Session Option -&gt; Terminal -&gt; Appearance -&gt;Fonts里面字体选择“新宋体”（这个字体通常不会出现乱码）,Character encoding选择UTF-8即可。目的就是保证SecureCrt使用的编码方式与locale使用的编码方式一致。<br/>注：通常情况下Character encoding选择Default即可。<br/>2）vim 中汉字为乱码。<br/>在.vimrc文件中添加如下设置：<br/>set fileencodings=euc-cn,utf-8,gb2312,gbk,gb18030<br/>set fileformats=unix<br/>set encoding=prc<br/>各选项具体表示什么意思可以自己百度:)<br/>其中fileencodings后面的选项的顺序也是有关系的，建议把系统的locale使用的字符集放在最前面。<br/>3）mysql中汉字为乱码。<br/>首先确认所查看的表使用的编码方式，用命令“show create table xxx” 可以查看相应的编码方式。<br/>这里又分为两种情况：<br/>（1）在终端用mysql -uroot -hhost -ppsw 直接连mysql。<br/>这种情况下首先保证SecureCrt的Character encoding与mysql表的编码方式一致，如果mysql是utf-8编码则SecureCrt也要选择utf-8，如果mysql是gbk时通常SecureCrt选择Default即可。<br/>mysql -uroot --default-character-set=utf8(gbk等等) 或者 mysql -uroot 连接完毕后 使用命令charset utf8(gbk)也可以。<br/>（2）在程序中使用mysqlclient api操作mysql。<br/>程序中设置的编码必须要与表一致，即调用后mysqlclient.init(user, psw, host, port)，要再调用一次mysqlclient.charset(&quot;utf8&quot;)才可以。<br/>总结：mysql这里出现乱码的原因是 mysqld 根据表创建时使用的编码方式存储、解释相应的汉字。当mysqlclient发起请求时如果没有设置charset，则会按照默认的方式解释mysqld返回的数据。当两边的编码方式不一致时自然无法正确解析。
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] 使用SecureCrt 连 linux 现现乱码write error, conversion failed (make fenc empty to override)的解决]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>