27

       貌似之前就有遇到过在windows系统下vim出现中文乱码的情况,只是用得较少而且也懒得去捣鼓它/// 这问题直到昨晚因为试用了个Casparant同学介绍的一款用于实现twitter客户端功能Vim插件—TwitVim的时候查看消息的时候出现的根本都是乱码。。。所以决定搞定关于Vim编辑器编码方式导致中文乱码的问题///
       上网了解了下才知道原来Vim有四个跟字符编码方式有关的选项,分别是:encoding、fileencoding、fileencodings、 termencoding (这些选项可能的取值请参考 Vim 在线帮助 :help encoding-names),它们各自的意义:
       * encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文本、消息文本等。用户手册上建议只在 .vimrc 中改变它的值,事实上似乎也只有在 .vimrc 中改变它的值才有意义。
       * fileencoding: Vim 中当前编辑的文件的字符编码方式,Vim 保存文件时也会将文件保存为这种字符编码方式 (不管是否新文件都如此)。
       * fileencodings: Vim 启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式,并且将 fileencoding 设置为最终探测到的字符编码方式。因此最好将 Unicode 编码方式放到这个列表的最前面,将拉丁语系编码方式 latin1 放到最后面。
       * termencoding: Vim 所工作的终端 (或者 Windows 的 Console 窗口) 的字符编码方式。这个选项在 Windows 下对我们常用的 GUI 模式的 gVim 无效,而对 Console 模式的 Vim 而言就是 Windows 控制台的代码页,并且通常我们不需要改变它。
       由于 Unicode 能够包含几乎所有的语言的字符,Unicode的 UTF-8 编码方式又是非常具有性价比的编码方式,因此encoding 的值设置为utf-8。同时将encoding设置为utf-8时,Vim自动探测文件的编码方式会更准确。在中文 Windows里编辑的文件,为了兼顾与其他软件的兼容性,文件编码还是设置为GB2312/GBK比较合适,因此fileencoding建议设置为 chinese (chinese 是个别名,在Unix里表示gb2312,在Windows里表示cp936,也就是GBK的代码页)。
       最终对于文件中显示乱码、菜单乱码、右键菜单乱码以及Conlse输出乱码问题的解决方案,修改Vim编辑器所对应的配置文件_vimrc,添加如下配置:
       “处理文本中显示乱码

set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif

       “处理菜单及右键菜单乱码

source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim

       “处理consle输出乱码

language messages zh_CN.utf-8

       关于Vim的支持多字符编码方式工作的运作原理是:
       首先、Vim 启动,根据_vimrc配置文件中设置的encoding的值来设置buffer、菜单文本、消息文的字符编码方式。
       紧接、读取要编辑的文件,根据fileencodings中列出的字符编码方式逐一探测该文件编码方式。并设置fileencoding 为探测到的字符编码方式。
       然后、对比fileencoding和encoding的值,若不同则调用iconv将文件内容转换为encoding所描述的字符编码方式,并且把转换后的内容放到为此文件开辟的buffer里,完成后就可以开始编辑这个文件。
       最后、编辑完成后保存文件时,再次对比fileencoding和encoding的值。若不同再次调用iconv将即将保存的buffer中的文本转换为fileencoding所描述的字符编码方式,并保存到指定的文件中。
       注:需要调用外部的iconv.dll,需要保证这个文件存在于$VIMRUNTIME或者其他列在PATH环境变量中的目录里。

written by Yousri \\ tags: , ,

23

       不幸遇到Mysql出现ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’错误导致无法启动
解决方法: 修改/etc/my.conf:

[client]
socket=/var/lib/mysql/mysql.sock
[mysqld]
socket=/var/lib/mysql/mysql.sock

       这样mysqld 及mysql就都可以搞定启动起来啦///
       不过问题也就来了,php程序链接数据库的时候同样还是会出现这个问题,因为这还需要修改/etc/php.ini的php配置文件中的mysql.default_socket的值,其默认的时候是为空的,将其修改设置为:

mysql.default_socket=/var/lib/mysql/mysql.sock

       但是有时这样并未能搞定php链接数据库的出现的Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) 的问题,因为php程序很BT的貌似非得找链接/tmp/mysql.sock而这个文件是不存在的,好吧,那就给他做个链接操作不就得了

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

       这样php程序页面就可以链接到数据库啦!!!
附:

ls -l /var/lib/mysql/mysql.sock

看到的属性是:

srwxrwxrwx 1 mysql mysql 0 11-21 14:39 /var/lib/mysql/mysql.sock

       档案类型标志是s,还真没去了解过这样的类型。。。。

written by Yousri \\ tags: , ,

21

一、配置环境:
       OS:CentOS 5.2
       IP:192.168.1.99
       计算机名:yousri
       域名:yousri.com
       别名:www.yousri.com

二、检查自己是否已经安装了Bind:

[root@yanqx ~]# rpm –qa | grep bind
bind-9.3.4-6.P1.el5.i386.rpm
bind-libbind-devel-9.3.4-6.P1.el5.i386.rpm
bind-sdb-9.3.4-6.P1.el5.i386.rpm
bind-devel-9.3.4-6.P1.el5.i386.rpm
caching-nameserver-9.3.4-6.P1.el5.i386.rpm
bind-chroot-9.3.4-6.P1.el5.i386.rpm

       主要检查以上六个包是否有安装:
       配置文件修改,主要将涉及到的配置文件包括以下:

/etc/sysconfig/network   //设置主机名
/etc/sysconfig/network-scripts/ifgcfg-eth0  //设置IP地址
/etc/named.conf    //DNS主配置文件
/var/named/chroot/var/named/yousri.com.db   //正向解析文件
/var/named/chroot/var/named/1.168.192.db   //反向解析文件
/etc/resolv.conf     //本机DNS配置文件
/var/named/chroot/var/named/localdomain.zone   //正向解析文件模板
/var/named/chroot/var/named/named.local       //反向解析文件模板

       关于修改主机名及设置IP地址的配置这里就不多言啦/// 可以上网的话基本都已经配置好啦,可使用hostname查询主机名

三、主配置文件named.conf的配置
       因为主配置文件named.conf包含一句话扩展外包配置文件的记录:include “/etc/named.rfc1912.zones”;故这里在配置定义正向解析文件与反向解析文件

[root@yanqx ~]#vim /var/named/chroot/etc/named.rfc1912.zonesf
zone "yousri.com" IN {       //定义一个正向域yousri.com
type master;
file "yousri.com.db";    //定义正向解析文件名 yousri.com.db
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {        //定义反向域
type master;
file "1.168.192.db";                  //定义反向解析文件名 1.168.192.db
allow-update { none; };
};

       添加以上两段配置文件保存并退出

四、配置正向解析与反向解析文件
       正向反向解析文件都创建在相同目录—/var/named/chroot/var/named/下,且可直接使用原有的模板localdomain.zone及named.local分别修改而得

[root@yanqx ~]#cd /var/named/chroot/var/named
[root@yanqx named]#cp -p localdomain.zone yousri.com.db
[root@yanqx named]#cp -p named.local 1.168.192.db

       使用参数p,是为了复制文件时保持文件的属性不变,防止有误导致稍后named服务无法启动/// 接下来分别修改这两个配置文件为如下:
正向解析文件:

[root@yanqx named]#vim yousri.com.db
 $TTL 86400
 $ORIGIN yousri.com.
 @         IN SOA yanqx.yousri.com. root.yanqx.yousri.com. (
                20060415              ; serial (d. adams)
            28800       ; refresh
             7200   ; retry
           604800   ; expiry
            86400 )   ; minimum
 
         IN NS   yanqx.yousri.com.
         IN MX 10 mail.yousri.com.
 @   IN A 192.168.1.99
 yanqx IN A 192.168.1.99
 mail IN A 192.168.1.99
 www IN CNAME yanqx

反向解析文件:

[root@yanqx named]#vim 1.168.192.db
 $TTL 86400
 @         IN SOA yanqx.yousri.com. root.yanqx.yousri.com. (
                                     20060415              ; serial (d. adams)
                                        28800              ; refresh
                                         7200              ; retry
                                       604800              ; expiry
                                        86400 )            ; minimum
 
         IN NS yousri.com.
 99      IN PTR yanqx.yousri.com.
 99      IN PTR mail.yousri.com.

五、系统配置
       1、修改/etc/resolv.conf文件,添加一条本机IP的DNS记录,以便实现域名解析效果

[root@yanqx named]#vim /etc/resolv.conf
 nameserver 202.101.103.54
 nameserver 202.101.103.55
 nameserver 192.168.1.99

       其中202.101.103.54&202.101.103.55为厦门电信DNS,120.35.120.155为本机IP地址
2、启动DNS服务及named服务

[root@yanqx ~]#/etc/init.d/named start

或者

[root@yanqx ~]#service named start

3、测试服务
       使用测试的命令是dig或nslookup或ping 侦测验证或更具体的客户端验证
       windows xp/2003客户端配置:网上邻居–属性–网络连接–属性–TCP/IP/属性/DNS–添加192.168.1.99记录保存退出即可。接着还可以结合已配置有DNS服务的服务器上搭建apache服务,配置apache基于名字的虚拟主机服务,配置使用www.yousri.com的域名,并在客户端(刚已设置好DNS的客户端上)直接浏览器浏览http://www.yousri.com访问apache服务的虚拟主机程序。

written by Yousri \\ tags: ,