Utilize shell scripts,linux commands, open source tools,java, to Maximize the Power of Linux.
Focused on working with linux and shell, search engine technology including Chinese segmenter
Any questions please contact me at gmail: david.ullua

12/06/2008

Using VirtualBox From Linux to virtualize windows and from windows to virtualize linux

1. How to Adjust resolution of guest OS:
启动guest操作系统,安装virtualbox的增强功能,先选择“设备”->“安装增强功能”。
(booted guest OS, Devices -> Install Guest Additions)

若是在linux的Virtual Box上虚拟windows, guest os为windows (主操作系统为linux)。
安装增强功能后,在windows的我的电脑中会看到光驱变成了“VirtualBox Guest Additions", 点击光驱直接安装 Guest Addtions, 安装完重启windows即可。 (Windows would load VirtualBox Guest Additions CD automatically, all you need to do is to run the CD and install Guest Additions , then reboot Windows)

若是在Windows的Virtual Box上虚拟linux,guest os 为linux(主操作系统为windows)。
安装增强功能后,Ubuntu会自动挂载VBoxGuestAdditions.ISO,并显示在桌面上。 (All you need to do is run BoxLinuxAdditions.run ) :
打开终端,利用su或者sudo指令进入root模式,然后依次输入:
#cd /cdrom 注意:cd命令后面有一个空格)
#sh VBoxLinuxAdditions.run

2.若使用NAT方式, guest os可以通过原操作系统的路由功能直接访问网络。

3.允许guest OS访问原操作系统中的目录。 (How to allow folder share between guest OS and the primal OS)
启动guest os后, 点"设备" -> "分配数据空间" ("devices" -> "share folders" )
增加共享目录,选择目录, 给共享目录取一个名字即可。 比如取名为share。
那么当guest os为windows时,可以运行:
net use x: \\vboxsvr\share 来使用共享的目录。(映射到x:盘)

当guest os为linux时,可以运行:
mount -t vboxsf share /mnt/mount_point 来通过linux上的mount_point目录来访问共享的share。

4.如果遇到声音出不来的情况, 那么关闭guest os后,选择虚拟机,设置一下声音(Audio),确保Enable Audio有被勾选上,并选择了合适的驱动,如果一个驱动不行,就换其他的,然后重启guest os,多试几次就好了。
(If no sound in the guest OS, you can shutdown the guest os, and enable Audio in the Settings for the virtual machine.)

5.安装增强功能以后,主系统和虚拟的操作系统之间不在需要来回切换,可以很方便地当作一个操作系统使用。
特别是全屏(Full Screen Mode)和无缝显示(Seamless Mode)感觉用户体验相当棒!

9/19/2008

PHP, MySQL中使用UTF-8编码,以及中文乱码的解决

若在linux/unix服务器上使用
注意如下事项:
1、设置mysql服务使用的编码:
#vi /etc/
在 [mysqld]以及[mysqld_safe]后面都加上以下两行:
default-character-set=utf8
default-collation=utf8_general_ci

然后重启mysqld服务: /etc/init.d/mysqld restart (fedora 9) 为例。
2.php的页面代码,执行sql语句前(或者在数据库连接建立后)设置本次连接的字符集,示例如下:
mysql_query("SET NAMES 'utf8'");
$result=mysql_query("select * from t_userlog");

3.Terminal登录mysql时指定字符集:
mysql --default-character utf8 -u root -pmypass
这样也可以:
mysql --default-character-set utf8 -u root -pmypass

4.apache的配置文件httpd.conf中,找到 AddDefaultCharset一行,注释掉,或者改成如下:
AddDefaultCharset off

(这一步是为了让不同字符集,比如utf-8,gbk的网页放到服务器上都可以正常在客户端显示)

5.每一个php页面中,都在head部分设定meta头的charset:
< meta equiv="Content-Type" content="text/html; charset=UTF-8" >

6. 以终端登录mysql中可以用如下sql语句来显示以character开头的变量:
SHOW VARIABLES LIKE 'character_set_database';

SHOW VARIABLES LIKE 'character_set_client';
show variables like 'character%';

可以通过 show character set; 语句来显示有哪些可用的字符集。

About Me

I am a senior developer and a team leader with 3 years development experience in Suzhou, China, focus on mobile web search, linux, Java and machine learning in NLP (natural language processing). My goal is to improve people's life with computer technology.