Java堂  


乱码造成本站之前数据破坏,借此谈谈MySQL的乱码问题

Filed under: Database,Life,Tools — Jet @ 3:18 上午
原文出处: 乱码造成本站之前数据破坏,借此谈谈MySQL的乱码问题
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

为了防止升级失败我特意用sqlYog将数据备份了一下,然后升级的过程中没有任何问题,因为我发现原来的栏目排列有些改变,于是就直接清空数据然后再导入备份过的数据重新安装一下系统。当前清空数据库的时候没有多想,反正之前有备份。这个时候问题出现了:导入备份后的数据全部变成了乱码!确切的应该说是错码才对,因为出现的不是问号而是一些错误的中文字。

乱码

反复试了很多种方法依然是无效,后来从sqlYog官方网站上查到sqlYog从6.0开始每次生成的sql文件编码都是utf-8格式的,另外在操作数据之前都使用

  1. set names "utf8";

将所有的环境都设置为utf8编码,你可以在sqlYog的查询窗口中使用

  1. SHOW VARIABLES LIKE 'character_set_%';

查看一下语言环境。sqlYog在查看数据的时候首先查看原来数据库设置的编码格式,然后将其转换为utf8格式的数据,最后输出出来;如果修改数据则相反。上次我在博文中提到使用sqlYog6.03可以直接查看gbk编码的数据,但是查看utf8格式的编码是乱码,我觉得这应该是sqlYog6.03版本中转换编码算法的一个bug,果然在最新发布的6.10rc版本中就修复了这个错误;另外一个就是根数据库默认设置的编码也有很大的关系,因为MySQL使用的默认编码是latin1,正是这样一个非常具有历史原因的设置成为了造成乱码的最直接的原因。这里可能有人会说不是sqlYog操作之前都已经将环境设置为utf8格式了吗?这个时候应该跟MySQL本身的编码没有任何关系了呀。sqlYog操作的时候是不会有关系,但是其他进程(比如php、java等)操作的时候呢?数据写入的时候已经出现乱码了,问题就出在这里。所以为了完全杜绝MySQL的乱码问题,建议将MySQL的默认编码设置为utf8格式。

因为wordpress数据库中的编码都是utf8格式的,我又使用的sqlYog6.03版本,所以无论查看还是备份utf8的数据都是乱码。最后只能是逐一从百度快照中将数据找出来添加到数据库中,因为我在wordpress中设置的remark规则跟时间和最后的数据id号有关系,为了不至于造成在百度中搜索出来的结果失效,所以首先先将原来数据库中的这些数据导入到新的数据中。当然这个时候wordpress已经升级成2.3了,呵呵(苦笑中…)

目前在2006年8月份之前的数据还没有恢复,将近有80条。我会在最近这段时间将他升级完成的。

参考资料:Which MySQL Character Sets are supported by SQLyog?

SWT Ribbon – 基于SWT开发的美丽界面

Filed under: JavaPlateform,Tools — Jet @ 1:56 下午
Tags: ,
原文出处: SWT Ribbon – 基于SWT开发的美丽界面
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

下面是官方说明的翻译文本:

尽管有些简陋,但SWF Ribbon的界面看上去有种似曾相识的感觉。该项目的目的是创建一个类似于Office2007的标签式工具栏,它是基于SWT的。因为受到跨系统的限制,它只能是最大限度地来模拟。

程序现在只发布了用于测试的alpha版本,你可以下载jar文件源代码。请记住目前的版本很可能有很多bug!源代码中提供了一个例子用来演示组件的使用方法,我对此不再提供额外的帮助,如有问题请使用Nebula新闻组。

关于组件运行中的截屏和信息请查看这里

根据官方的说明,这个很漂亮的界面组件目前仅仅发布了测试版本,但是抵挡不住美丽的诱惑,建议大家先尝试一下,呵呵。

ribbon_ss1.gif

Apache中显示PHP源代码的原因

Filed under: DynamicLanguage,Tools,Web&Server — Jet @ 10:53 上午
Tags: ,
原文出处: Apache中显示PHP源代码的原因
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

通常来说如果Apache显示PHP源代码的主要原因是因为没有正确配置好PHP加载模块,最多的错误就是加载的php5_module文件位置错误,通常这种错误会导致Apache无法正常启动;另外最容易犯的就是没有增加php的文件头类型:

  1. AddType application/x-httpd-php .php .php3

但是今天我确遇到一件非常奇怪的事情,上面说的两种情况都不存在但是依然显示php源代码。后来经过长时间的排查终于发现误将放置在 VirtualHost 标签内的

  1. php_flag engine off

放到了外面,这种情况下使得针对某个站点不执行php解析的配置被设置为了全局配置了,估计这种失误比较少见,故写出来共享。

Maxthon中ViewPage插件与卡巴斯基冲突的解决办法

Filed under: Tools — Jet @ 1:14 上午
原文出处: Maxthon中ViewPage插件与卡巴斯基冲突的解决办法
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

Maxthon中的ViewPage插件可以说是插件只的极品,用于查看网页信息非常的强大和方便。但是用过一段时间之后发现无法查看当前网页资源内容了。搜索了一下原来是被卡巴斯基的弹窗过滤掉了。

ViewPage是弹出一个新窗口,而KIS有一个组件就是阻止网页弹出窗口。由于ViewPage是网页插件,基于网页运行,因此KIS认为造成弹出的是你运行这个插件的所在的网页,所以每次认出的弹出源都不同。建议楼主直接关掉这个组件。

关闭方法:卡巴斯基设置-“保护”-“反间谍保护”,右边去掉“启用阻止弹出窗口”选项即可。

参考资料:如何正确导入卡巴斯基使得ViewPage工具生效?

phpMyAdmin初次安装拒绝登录的问题及解决方法

Filed under: Database,DynamicLanguage,Tools,Web&Server — Jet @ 10:45 下午
原文出处: phpMyAdmin初次安装拒绝登录的问题及解决方法
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

今天安装phpMyAdmin 2.10的时候修改认证方式为cookie之后进入程序首页登录的时候一直提示访问被拒绝,真的是奇怪了。后来从网上查了一下原来是需要清空一下浏览器缓存。

参考资料:hpMyAdmin 2.10.2 配置

SQLyog 6.x 开始支持Unicode编码了!!

Filed under: Database,Tools — Jet @ 6:27 下午
Tags: ,
原文出处: SQLyog 6.x 开始支持Unicode编码了!!
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

sqlyog_box.jpg

一直是使用SQLyog来管理MySQL的,感觉他功能非常的强大,而且使用操作的时候非常的方便。但是一直以来SQLyog有个特别不爽的地方就是不支持Unicode,在查看数据库中的中文时会显示乱码,so如果直接用软件编辑保存的话显示到网页上面就是乱码了,完全没有使用SQL Server管理器那样的方便。

不过现在好了,今天无意间到SQLyog官方网站上面的时候,发现软件已经升级到6.x版本了,我所期待的支持中文的功能也实现了,爽啊~~~

AutoCAD启动慢的解决方法

Filed under: Tools — Jet @ 11:21 下午
Tags:
原文出处: AutoCAD启动慢的解决方法
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

AutoCAD2005在启动的时候速度非常的慢,官方提供的解决方法如下:

1、选择开始——设置——控制面板。
2、选择Internet选项。
3、在Internet属性对话框里,点高级标签。
4、清除“检查发行商的证书吊销”选项。
5、单击应用,然后单击OK。
6、重新启动,运行应用程序

如果是AutoCAD2006的话还需要运行安装盘里面的support——CADManagerControl—-找到程序CMControl.exe程序,将通讯中心和联机帮助中心关闭。

参考资料:
AutoCAD2005启动慢的解决方案
AutoCAD2006启动慢的解决方案

WinWebMail配置总结

Filed under: Tools,Web&Server — Jet @ 11:11 下午
原文出处: WinWebMail配置总结
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

前身为大名鼎鼎的WebEasyMail的WinWebMail可以说在Windows系统下面结合IIS应用最为广泛的一种邮局系统,相信很多人也是从WebEasyMail开始接触邮局系统的。

正好最近一个客户需要在Windows2003下面安装一套WebEasyMail系统(v3.7.3.1),现在就将安装配置的一些经验记录下来。

1. 安装目录权限的设置
默认情况下安装程序之后Web界面中无法登录任何帐号,或者在注册界面中不显示任何设置的域名等等,这些情况都是因为没有对文件夹设置正确的权限所造成的。根据官方的FAQ提供的信息,正确的目录权限设置如下:

例如 WinWebMail 被安装在 D:\WinWebMail 目录下。
权限设置完成后,需要重启一下IIS以使设置生效。
D:\WinWebMail (及其所有子目录) Users 或 Everyone 完全控制
D:\ 根目录 Users 读取

这里需要特别强调的是不仅仅设置程序安装的目录及其子目录的权限,还需要将其所在的根目录设置Users读取权限。很奇怪为什么WinWebMail的作者这样来写程序,照此设置的话会对Web程序产生极大的不安全性。试想一下如果有人上传一个WebShell不是可以访问整个根目录的文件及文件夹了吗?

我的做法是干脆特意划分一个分区(比如E盘),仅放入WinWebMail程序。这样一来的话就算有人拿到WebShell的话也只能破坏一个系统,而对其他Web站点不造成影响。落伍中也有人有其他的做法,大家可以参考下。

2. 无法发送/接收外部邮件
出现这个错误的原因通常是没有设置DNS服务器。打开WinWebMail配置界面,点击右下角图标,然后选择最上面的“服务”菜单项,设置同服务器网络连接相同的DNS地址。

另外如果无法接收外部发过来的邮件还有可能POP(Port: 110)和SMTP(Port: 25)端口被防火墙或IP策略屏蔽掉,打开就可以了。

3. 垃圾邮件
1) 设置HELO信息避免被一些邮局系统误判断为垃圾邮件。
使用admin登录webmail,打开“系统设置”–>“重要设置”(3.7.0.5以上版本才有此选项)之后,在“外发邮件时Helo命令后的内容”项后面填写。如果域名设置了MX记录则填写MX记录,否则直接填写域名(不包含http://和www)就可以了。如果设置了多个域名的话只要填写其中的一个即可。

2)防止垃圾邮件

  • 启用SMTP身份验证:在服务器上点击右下角图标,然后在弹出菜单的“系统设置”–>“防护”页选中“启用SMTP域名验证功能”项。
  • 禁止匿名转发(Open-Relay):在服务器上点击右下角图标,然后在弹出菜单的“系统设置”–>“收发规则”中的“启用SMTP发信认证功能”项和“只允许系统内用户对外发信”项这两个选中启用。还有就是“不检查MAIL FROM命令与信头中FROM地址的一致性”项一定要选中!否则许多邮局发来的邮件都会收不到,不要反垃圾反的正常邮件都收不到就惨了,切记切记。4. Webmail的设置
    1) 注册邮箱的时候不显示默认的system.mail域名:“系统设置”-“域名控制”然后将system.mail前面的“是否显示”复选框去掉,然后点保存即可。
    2) 防止恶意注册邮箱:默认情况下任何人都可以注册邮箱的,可以通过“系统设置”中的“资源使用设置”来设置开通邮箱的方式,有四种开通方式供选择。

    5. 附件上传和下载
    1) 解决Win2003中不能上传大附件的问题:首先关闭IIS,编辑windows\system32\inetsrv\metabase.xml 文件,将ASPMaxRequestEntityAllowed的默认值204800(即200K)修改为想要设置的数值,比如10240000(即10M),保存文件之后启动IIS。

    2) 解决Win2003中无法下载超过4M的附件问题:关闭IIS,编辑windows\system32\inetsrv\metabase.xml 文件,将AspBufferingLimit 修改为需要的值,保存文件之后启动IIS。

    更多的设置可以参考官方的FAQ和帮助文档,很多问题都介绍的非常详细。

    参考资料:
    在 win2k3 下安装 WinWebMail 3.7.3.1 攻略大全
    WinWebMail常见问题解答
    也谈WIN2003+WinWebMail 3.7.1.1的权限控制

  • 查找接口实现类的Eclipse插件

    Filed under: JavaPlateform,Tools — Jet @ 5:40 下午
    原文出处: 查找接口实现类的Eclipse插件
    作者: Jet Mah from Java堂
    声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

    implementors.png

    很多时候我们在研究一些程序的源代码时会遇到许多接口的实现类,但是在Eclipse中上溯查找的时候只能最终查到这个接口,而不能反过来直接查找接口的实现类。通常的办法就是查阅Java Doc,或者在源代码中直接查看到底使用了哪个实现类。

    但是通过Implementors 这个Eclipse插件就可以解决上面的问题了。这是一个专门用于查找接口方法实现类的工具,非常的方便和实用。

    1. 安装

    安装有两种方式,一种是直接下载插件(implementors package)然后手动安装到eclipse中,另外一种就是在Eclipse中直接使用 Eclipse update site: http://eclipse-tools.sourceforge.net/updates/。只要是使用过Eclipse的人应该都会安装插件,具体的安装细节就不再啰嗦了。

    需要说明的是必须下载一个适用于你所使用的Eclipse版本的插件,目前最新的版本对应如下:

    Latest version for Eclipse 2.1.x or Eclipse 3.0.x: v0.0.14
    Latest version for Eclipse 3.1+: v0.0.16

    2. 使用
    1) 查看实现接口方法的类:在接口中选中待实现的方法名称,然后右键选择 Open Implementation 即可打开实现该接口方法的类。如果有多个类则会跳出一个选择列表供选择;
    2) 查看实现类所实现的接口:在接口实现类中选择方法名称,然后右键选择 Open Interface 即可打开接口中的方法。

    参考资料:
    Eclipse插件之Implementors

    本站发布简体版ProGuard GUI界面

    Filed under: JavaPlateform,Tools — Jet @ 12:19 下午
    原文出处: 本站发布简体版ProGuard GUI界面
    作者: Jet Mah from Java堂
    声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

    ProGuard 是一个总所周知的免费的 Java类文件的压缩,优化,混肴器。它删除没有用的类,字段,方法与属性。使字节码最大程度地优化,使用简短且无意义的名字来重命名类、字段和方法。

    官方提供了一个GUI操作界面程序,可以最大效率的发挥ProGuard的功能,而且操作非常的直观简单。前段时间有几个网友发mail给我要求我汉化一下,今天上午的时候抽时间做了一下,专门发布了一个页面,大家可以到这里看查看下载。http://www.javatang.com/proguard/

    « 上一页下一页 »