2009年9月28日

tor

http://docs.google.com/View?id=dfc32596_290ffjb68dt

翻墙还需搭桥——Portable Tor设置特别说明

Portable Tor的下载地址:http://bit.ly/USOkd

下载之后双击执行,会要求你指定一个目录,将其压缩包内的文件释放到指定目录中。

解压缩完毕之后双击执行PortableTor.exe,则可看到以下程序窗口:

(或下载Vidalia Bundle安装版:http://ifile.it/xvcf3zj)




去掉"启动时显示此窗口"之前的对号,省得以后开机自动运行该程序的时候总是显示这个窗口……

按"设定"按钮,就可以看到以下对话框:



在"常规"标签中,可以去掉"Start a proxy application when Vidalia starts"之前的对号(当然有人不在意这个)……



对于国内用户这一步最重要

"网络"标签中这一页对话框中,在"我的ISP阻挡了对Tor网络的连接"之前打勾,然后就可以看到"Bridge Settings",可以为Tor添加Bridge。

bridges@torproject.org发一封邮件(最好使用gmail邮箱,没有的话就最好注册一个),内容为:"get bridges"(邮件写不写标题都可以),几秒钟之内,你就会收到一封含有bridge list(一般是三个)的邮件,比如,其中有这样的内容:


[This is an automated message; please do not reply.]

Here are your bridge relays:

bridge 92.41.50.141:443
bridge 83.226.198.100:9443
bridge 69.60.117.34:9001


把这三行分别拷贝粘贴到文字输入框中,然后点击右边标有绿色加号的按钮即可。



由于必须有bridge才可以正常使用tor,所以,这一项中,现在还只能选择"Run as a client only"……

至此,设定完毕,关闭此对话框,在主窗口中启动tor,一会儿就连接上了。而后,还可以查看Tor网络地图,看看你现在连上的tor中转站都在地球上的什么位置……



如果你恰好喜欢使用Firefox,那么请下载这个定制版:http://ifile.it/ay1zgp3

解压缩之后,Mozilla Firefox 3的目录下有一个tor目录,里面的执行文件就是Tor Portable,按照以上方式设置即可。该定制版的Firefox已经安装了FoxyProxy插件,默认已经为Youtube、Facebook、Twitter设定了"自动通过Tor访问"……

Firefox究竟好在哪里,请查阅这个链接的内容:http://bit.ly/4G4GAn

分享自由

当成功连接Tor(表现为主界面中的洋葱头变绿了)之后,就可以将自己的机器也变成bridge。

  1. 停止Tor服务(在主界面中按"Stop Tor"按钮);
  2. 点击"设置中继服务器"按钮;
  3. 在"Sharing"标签页中选择第三项"帮助用户访问Tor网络……";
  4. 在"网络"标签中,把"我的ISP阻挡了对Tor网络的连接"之前的对号去掉;
  5. 点击"确定"按钮关闭对话框;
  6. 退出Vidalia控制面板(记得也要在任务托盘中退出"Privoxy"程序),而后重新启动Vidalia(就是重新运行PortableTor.exe)——这时Windows可能会跳出一个对话框要求你为Tor程序解除防火墙禁止规则,确认即可。
  7. 成功连接Tor之后,点击"设置中继服务器"按钮,就可以看到对话框最低端"Let others access your bridge by giving them this line:"之下多了一行代码
    (例如:***.***.***.***:9001 0B8C4718CA87DA97C0673D3F73AAAD6FD80C953A)如下图所示:


这时,你的计算机也成了Tor网络中的一个bridge。你可以把"bridge ***.***.***.***:9001"这行代码(无需后面那一长串数字字母构成的字符串)拷贝粘贴给你的那些无法正常访问Tor的朋友,让他按照之前介绍的方法添加到他的网桥列表中,他就可以正常访问Tor了——因为他也有bridge了,而后他也可以将自己的机器变成bridge……如此生生不息。




2009年9月16日

被雷得外焦内嫩 - 我爱我的祖国各地群众自发朗诵



新白娘子传奇之洞房花烛版:

山东快书版:

伦敦音版:

绵羊音:

京剧版:

变形金刚版:

大师兄版:

杭州话版:

外星人版:

生产队版:  

山东版:

混搭版:

电视购物咆哮版:

小沈阳、葛优、易中天以及唐僧御弟:

吟诗事件记录曲:

超级玛丽版:

猥琐欠抽版:

18X:

2009年9月6日

醉舟网开发笔记

一、网址跳转
以下是.htaccess全文:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.zzhou\.net$ [NC]
RewriteRule ^(.*)$ http://zzhou.net/$1 [R=301,L]
RewriteRule ^(\w+)/(\w+)$ view.php?user=$1&sub=$2
RewriteRule ^(\w+)$ view.php?user=$1&sub=home
RewriteRule ^(\w+)/$ view.php?user=$1&sub=home

实现以下功能:
1、将www.zzhou.net自动跳转到zzhou.net


二、mysql字符集问题及其它
1、MySQL 字符集: UTF-8 Unicode (utf8)
2、建表是设定字符集utf8_unicode_ci,字段字符集为utf8_general_ci
3、要读写相关UTF8字段时:
    mysql_query("set names 'utf8' ");  
    mysql_query("set character_set_client=utf8");  
    mysql_query("set character_set_results=utf8");
    mysql_query("set character_set_connection=utf8");
4、设置自增变量
  先建表,然后修改结构,在AUTO_INCREMENT一项打勾。


三、表单检查
  <FORM ID='fm1' ACTION='adduser2.php' METHOD='post'> //将表单提交给adduser2.php
    用户名(英文与数字组合): <INPUT TYPE='TEXT' ID='uname' NAME='username' SIZE='20'>
<BR /><BR />
密码:       <INPUT TYPE='PASSWORD' ID='p1' NAME='pwd' SIZE='20'><BR /><BR />
重输入密码: <INPUT TYPE='PASSWORD' ID='p2' NAME='pwd2' SIZE='20'><BR /><BR />
昵称(可中文): <INPUT TYPE='TEXT' NAME='nick' SIZE='20'><BR /><BR />
图片地址: <INPUT TYPE='TEXT' NAME='pp' SIZE='80'><BR /><BR />
描述一下自己: <BR /><BR />
<TEXTAREA NAME="desc" COLS="80" ROWS="10"></TEXTAREA><BR /><BR />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE='BUTTON' NAME='sub' SIZE='30' VALUE='提  交' onClick='checkinput()'><BR /><BR /> //提交前先执行checkinput()
  </FORM>

  <script language="javascript">
    function checkinput()
{
 var flag1=/^[a-zA-Z0-9]{1,20}$/;  
 var tmp='';
 var ff=true;
      if (!flag1.exec(document.getElementById('uname').value)) //检查用户名输入有效性
 {
tmp='用户名只能是英语或数字, 长度1-20位!\n';
ff=false;
 }
 else
 {
ff=true;
 }
      var pwd=document.getElementById('p1').value;
 var pwd2=document.getElementById('p2').value;
 if (pwd !== pwd2)
 {
tmp=tmp+'两次输入的密码不一致!';
ff=false;
 }
 else
 {
 }  
 if (ff==true)
 {
   document.getElementById('fm1').submit(); //全部检查完结,则提交表单
 }
 else
 {
   alert (tmp);
 }
}

  </script>

从表单得到数据:
$user = $_POST['username']; 

在adduser2.php进一步检查用户名是否重复,如重复则提示信息将返回表单页面:
$tmp = "用户".$user2."已存在!";
$tmp = "<script language=javascript>alert ('" . $tmp . "')</script>";
echo $tmp;
echo ("<script language=javascript>window.history.go(-1);</script>"); 


五、建立SQL连接
  $link=mysql_connect("ip address","username","password"); //connect to mysql
  mysql_select_db('db name'); // connect to db  
  mysql_query("set names 'utf8' ");  
  mysql_query("set character_set_client=utf8");  
  mysql_query("set character_set_results=utf8");
  mysql_query("set character_set_connection=utf8");

  查询具体数据:
  $sql = "SELECT * FROM tb_list"; // select sql
  $result = mysql_query($sql);
  while ($user_data = mysql_fetch_array($result))  // get data from dataset array
  {
    $sub = $user_data['fl_subdomain']; // get 1 single data
  }

  检查结果集是否为空:
  $result = mysql_query($sql);
  $i = mysql_num_rows($result);
  if ($i == 0): //有数据

mysql_close($link);//关闭连接


六、cookie
设置cookie:
setcookie('usrid',(string) $userid);
setcookie('usr',$user);
setcookie('pwd',$pwd);

清除cookie:
  setcookie('usrid', "", time() - 3600);
  setcookie('usr', "", time() - 3600);
  setcookie('pwd', "", time() - 3600);  


七、根据查询结果创建动态元素
用类似document.getElementById('button_" . $sub . "').value == '显示'的方法创建动态java script脚本,然后用document.getElementById属性获得相应对象,修改相应的属性。

输入新在线文档的名称:

一、网址跳转
以下是.htaccess全文:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.zzhou\.net$ [NC]
RewriteRule ^(.*)$ http://zzhou.net/$1 [R=301,L]
RewriteRule ^(\w+)/(\w+)$ view.php?user=$1&sub=$2
RewriteRule ^(\w+)$ view.php?user=$1&sub=home
RewriteRule ^(\w+)/$ view.php?user=$1&sub=home

实现以下功能:
1、将www.zzhou.net自动跳转到zzhou.net


二、mysql字符集问题及其它
1、MySQL 字符集: UTF-8 Unicode (utf8)
2、建表是设定字符集utf8_unicode_ci,字段字符集为utf8_general_ci
3、要读写相关UTF8字段时:
    mysql_query("set names 'utf8' ");  
    mysql_query("set character_set_client=utf8");  
    mysql_query("set character_set_results=utf8");
    mysql_query("set character_set_connection=utf8");
4、设置自增变量
  先建表,然后修改结构,在AUTO_INCREMENT一项打勾。


三、表单检查
  <FORM ID='fm1' ACTION='adduser2.php' METHOD='post'> //将表单提交给adduser2.php
    用户名(英文与数字组合): <INPUT TYPE='TEXT' ID='uname' NAME='username' SIZE='20'>
<BR /><BR />
密码:       <INPUT TYPE='PASSWORD' ID='p1' NAME='pwd' SIZE='20'><BR /><BR />
重输入密码: <INPUT TYPE='PASSWORD' ID='p2' NAME='pwd2' SIZE='20'><BR /><BR />
昵称(可中文): <INPUT TYPE='TEXT' NAME='nick' SIZE='20'><BR /><BR />
图片地址: <INPUT TYPE='TEXT' NAME='pp' SIZE='80'><BR /><BR />
描述一下自己: <BR /><BR />
<TEXTAREA NAME="desc" COLS="80" ROWS="10"></TEXTAREA><BR /><BR />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE='BUTTON' NAME='sub' SIZE='30' VALUE='提  交' onClick='checkinput()'><BR /><BR /> //提交前先执行checkinput()
  </FORM>

  <script language="javascript">
    function checkinput()
{
 var flag1=/^[a-zA-Z0-9]{1,20}$/;  
 var tmp='';
 var ff=true;
      if (!flag1.exec(document.getElementById('uname').value)) //检查用户名输入有效性
 {
tmp='用户名只能是英语或数字, 长度1-20位!\n';
ff=false;
 }
 else
 {
ff=true;
 }
      var pwd=document.getElementById('p1').value;
 var pwd2=document.getElementById('p2').value;
 if (pwd !== pwd2)
 {
tmp=tmp+'两次输入的密码不一致!';
ff=false;
 }
 else
 {
 }  
 if (ff==true)
 {
   document.getElementById('fm1').submit(); //全部检查完结,则提交表单
 }
 else
 {
   alert (tmp);
 }
}

  </script>

从表单得到数据:
$user = $_POST['username']; 

在adduser2.php进一步检查用户名是否重复,如重复则提示信息将返回表单页面:
$tmp = "用户".$user2."已存在!";
$tmp = "<script language=javascript>alert ('" . $tmp . "')</script>";
echo $tmp;
echo ("<script language=javascript>window.history.go(-1);</script>"); 


五、建立SQL连接
  $link=mysql_connect("ip address","username","password"); //connect to mysql
  mysql_select_db('db name'); // connect to db  
  mysql_query("set names 'utf8' ");  
  mysql_query("set character_set_client=utf8");  
  mysql_query("set character_set_results=utf8");
  mysql_query("set character_set_connection=utf8");

  查询具体数据:
  $sql = "SELECT * FROM tb_list"; // select sql
  $result = mysql_query($sql);
  while ($user_data = mysql_fetch_array($result))  // get data from dataset array
  {
    $sub = $user_data['fl_subdomain']; // get 1 single data
  }

  检查结果集是否为空:
  $result = mysql_query($sql);
  $i = mysql_num_rows($result);
  if ($i == 0): //有数据

mysql_close($link);//关闭连接


六、cookie
设置cookie:
setcookie('usrid',(string) $userid);
setcookie('usr',$user);
setcookie('pwd',$pwd);

清除cookie:
  setcookie('usrid', "", time() - 3600);
  setcookie('usr', "", time() - 3600);
  setcookie('pwd', "", time() - 3600);  


七、根据查询结果创建动态元素
用类似document.getElementById('button_" . $sub . "').value == '显示'的方法创建动态java script脚本,然后用document.getElementById属性获得相应对象,修改相应的属性。

2009年8月30日

zzhou.net

做了一个个人网站zzhou.net醉舟。
醉舟是兰波的成名诗作,全文见:http://zzhou.net/zzhou.txt
醉舟网主要提供二级、三级域名跳转服务,注册用户可以得到类似zzhou.net/tallrain二级域名方式的个人页面,在页面上可以定义若干个次级目录链接,如zzhou.net/tallrain/news
每一个链接其实都是一次跳转,如zzhou.net/tallrain/news其实是跳转到http://dl.getdropbox.com/u/258641/tallrainrss.htm,但是zzhou.net/tallrain/news这个网址非常好记。
另外,在个人的页面上其实是列出了个人所建的所有链接,此外还包括一些文字录入的内容和好友链接等。
建这个网站主要是出于以下两点考虑:
1、国内的域名跳转一定要备案,非常不方便。
2、目前很流利短域名跳转,但是短域名产生的后缀字符都是随机产生的,不好记。而醉舟网的域名后缀是用户自定义的,好记。
希望对大家有用。

2009年8月13日

Delphi7处理XML

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,msxml,XMLIntf,XMLDoc;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  xmlDoc:IXMLDocument;
  trsnode, tmpnode, tmpnode2:IXMLNode;
  trnode: ixmlnodelist;
  m1,m2,l1,l2:string;
  fm, fl: boolean;
  i:integer;
begin

  xmlDoc := TXMLDocument.Create(nil);
  xmldoc.LoadFromFile('E:\bfcec\trans\ap\all.utf8.xml');
  xmldoc.Encoding:='utf-8';
  trsnode:=xmldoc.ChildNodes.FindNode('TranslationElements');
  trnode:=trsnode.ChildNodes;
  for i:= 1 to trnode.Count do
  begin
    m1:='';
    l1:='';
    m2:='';
    l2:='';
    fm:=true;
    fl:=true;

    try
      tmpnode:=trnode.Nodes[i-1].ChildNodes.FindNode('SourceLiterals');
      if tmpnode<>nil then tmpnode:=tmpnode.ChildNodes.FindNode('LiteralSet');
      if tmpnode<>nil then tmpnode:=tmpnode.ChildNodes.FindNode('MediumDescription');
      if tmpnode <> nil then m1:=tmpnode.Text;
    except
      m1:='';
    end;

    try
      tmpnode:=trnode.Nodes[i-1].ChildNodes.FindNode('TargetLiterals');
      if tmpnode<>nil then tmpnode:=tmpnode.ChildNodes.FindNode('LiteralSet');
    except
      m2:='';
      fm:=false;
    end;

    try
      if tmpnode<>nil then tmpnode2:=tmpnode.ChildNodes.FindNode('MediumDescription');
      if tmpnode2<>nil then m2:=tmpnode2.Text;
      if tmpnode2=nil then tmpnode.AddChild('MediumDescription');
    except
    end;

      m1:=trim(m1);
      m2:=trim(m2);
      if (m1<>'') and (m2='') and fm then
      begin
       //if tmpnode = nil then trnode.Nodes[i-1].ChildNodes.FindNode('TargetLiterals').ChildNodes.FindNode('LiteralSet').AddChild('MediumDescription');
       trnode.Nodes[i-1].ChildNodes.FindNode('TargetLiterals').ChildNodes.FindNode('LiteralSet').ChildNodes.FindNode('MediumDescription').Text:=m1;
      end;

    try
      tmpnode:=trnode.Nodes[i-1].ChildNodes.FindNode('SourceLiterals');
      if tmpnode<>nil then tmpnode:=tmpnode.ChildNodes.FindNode('LiteralSet');
    except
      l1:='';
    end;

    try
      if tmpnode<>nil then tmpnode2:=tmpnode.ChildNodes.FindNode('LongDescription');
      if tmpnode2<>nil then l1:=tmpnode2.Text;
      if tmpnode2=nil then tmpnode.AddChild('LongDescription');
    except
    end;

    try
      tmpnode:=trnode.Nodes[i-1].ChildNodes.FindNode('TargetLiterals');
      if tmpnode<>nil then tmpnode:=tmpnode.ChildNodes.FindNode('LiteralSet');
      if tmpnode<>nil then tmpnode:=tmpnode.ChildNodes.FindNode('LongDescription');
      if tmpnode<>nil then l2:=tmpnode.Text;
    except
      l2:='';
      fl:=false;
    end;

    
      l1:=trim(l1);
      l2:=trim(l2);
      if (l1<>'') and (l2='') and fl then
      begin
       //if tmpnode=nil then trnode.Nodes[i-1].ChildNodes.FindNode('TargetLiterals').ChildNodes.FindNode('LiteralSet').AddChild('LongDescription');
       trnode.Nodes[i-1].ChildNodes.FindNode('TargetLiterals').ChildNodes.FindNode('LiteralSet').ChildNodes.FindNode('LongDescription').Text:=l1;
      end;

  end;
  xmldoc.SaveToFile('E:\bfcec\trans\ap\all.out.utf8.xml');
  xmldoc:=nil;
  showmessage('done');
end;

end.

2009年7月28日

Z: 用UltraVPN翻墙

http://qingxianyan.cn/2009/07/27/个人常用的两招翻墙访问twitter.html

    之前有听过此款免费VPN的好用,因为自己一直使用的是第一种方法的,也懒得去使用开启那么多客户端之类的程序,所以就一直没有试用过,直到上周想上FriendFeed无解,所以决定安装UltraVPN试用看看,而后感觉确实挺不错的而且速度还可以接受啊。所以推荐需要的话可以首选其作为免费vpn,只需注册个账号即免费使用。
    1、下载UltraVPN:点击这里
    2、安装软件,过程中可能会出现一个安装虚拟网卡的对话窗口,如下图,点击仍然继续。
     
    3、打开 C:\Program Files\UltraVPN\config 文件夹(默认安装目录),将client.ovpn改名为 ultra.ovpn。可以下载其他可用的OpenVPN的配置文件,比如 alonweb 的配置文件在这里,解压到这个文件夹,将alonweb.conf 改名为 alonweb.ovpn;其他VPN服务的配置也是如此。
      
    4、双击运行ultravpn软件,任务栏右下角会有多出一个vpn链接图标,如图所示(右键选择对应的vpn链接)
     
    5、要求你输入用户名密码。

     
    6、输入注册的账号和密码登陆,等待一会,右下角的UltraVPN图标颜色由红色–>绿色就表示已经链接成功。这里就不截图啦/// 有什么问题再说吧!
    好啦,关于自己如何翻墙上Twitter或者使用UltraVPN免费VPN使用国外(本人ultravpn得到的是法国的IP地址)网络访问被墙在外的网站的,如相识的现实朋友想上Twitter微博客的话可以这两措施试试修改访问看看,如果还有什么不明白的可以私下与鄙人联系,尽自己微薄之力助你一臂之力 嗯!

2009年7月20日

Oracle导入导出

导出:
1、EXP生成DUMP
或用以下方法导出生成TXT:
2、pl/sql developer导出若干个表
3、TOAD
4、Oracle SQL Developer可选择导出数据库、用户模式或表。


导入:
1、用IMP导入DUMP
或用以下方法导入TXT:
2、pl/sql developer
3、TOAD
4、Oracle SQL Developer


2009年7月18日

Google 接近完整 Hosts 列表

ZZ: http://hi.baidu.com/pkudoraemon/blog/item/6565bb22736e764792580712...


发信人: szwj (MI07 & DMM | 不做大牛不喊弱), 信区: Google
标  题: Google 接近完整 Hosts 列表
发信站: 北大未名站 (2009年06月25日08:51:44 星期四), 站内信件

把下面的内容添加到C:\Windows\System32\drivers\etc\hosts文件中
由于使用的IP未必为最优,所以速度可能变慢。
有问题的清补充或更正。另外,Hints就是出不来,正在检查中。
#Search
74.125.39.99    www.google.com
74.125.39.103   www.google.com
74.125.39.104   www.google.com
74.125.39.105   www.l.google.com

#Images
74.125.39.99    images.google.com
74.125.39.103   images.google.com
74.125.39.104   images.google.com
74.125.39.105   images.google.com
74.125.39.106   images.google.com
74.125.39.147   images.google.com
74.125.77.99    tbn0.google.com
74.125.77.99    tbn1.google.com
74.125.77.103   tbn2.google.com
74.125.77.104   tbn3.google.com
74.125.77.105   tbn4.google.com
74.125.77.106   tbn5.google.com
74.125.77.147   tbn6.google.com

#Shopping
74.125.39.99    base0.googlehosted.com
74.125.39.103   base1.googlehosted.com
74.125.39.104   base2.googlehosted.com
74.125.39.105   base3.googlehosted.com
74.125.39.106   base4.googlehosted.com
74.125.39.147   base5.googlehosted.com

#Books
74.125.39.100   books.google.com
74.125.39.101   books.google.com
74.125.39.102   books.google.com
74.125.39.113   books.google.com
74.125.39.138   books.google.com
74.125.39.139   books.google.com
74.125.39.100   bks0.books.google.com
74.125.39.100   bks1.books.google.com
74.125.39.101   bks2.books.google.com
74.125.39.102   bks3.books.google.com
74.125.39.113   bks4.books.google.com
74.125.39.138   bks5.books.google.com
74.125.39.139   bks6.books.google.com
74.125.39.113   bks7.books.google.com
74.125.39.138   bks8.books.google.com
74.125.39.139   bks9.books.google.com

#Video
74.125.39.100   video.google.com
74.125.39.101   video.google.com
74.125.39.102   video.google.com
74.125.39.113   video.google.com
74.125.39.138   video.google.com
74.125.39.139   video.google.com
74.125.39.100   0.gvt0.com
74.125.39.101   1.gvt0.com
74.125.39.102   2.gvt0.com
74.125.39.113   3.gvt0.com
74.125.39.138   4.gvt0.com
74.125.39.139   5.gvt0.com

#Mail(POP3/SMTP)
209.85.147.109  pop.gmail.com
209.85.147.109  smtp.gmail.com

#WebMail
64.233.189.18   mail.google.com
64.233.189.19   mail.google.com
64.233.189.83   mail.google.com
64.233.189.18   www.gmail.com
64.233.189.19   www.gmail.com
64.233.189.83   www.gmail.com
64.233.189.19   googlemail.l.google.com

#Docs
64.233.189.101  writely-china.l.google.com
64.233.189.101  writely.l.google.com
64.233.189.102  docs.google.com
64.233.189.101  docs.google.com
64.233.189.100  docs.google.com

#Map
64.233.189.104  map.google.com
64.233.189.99   map.google.com
64.233.189.147  map.google.com
64.233.189.104  maps.google.com
64.233.189.99   maps.google.com
64.233.189.147  maps.google.com
64.233.189.99   maps.gstatic.com
203.208.39.93   khm.google.com
203.208.39.91   mt0.google.com
203.208.39.93   mt1.google.com
203.208.39.91   mt2.google.com
203.208.39.91   mt.l.google.com
64.233.189.99   maps.l.google.com

#Scholar
64.233.189.99   scholar.google.com
64.233.189.104  scholar.google.com
64.233.189.147  scholar.google.com
64.233.189.104  scholar.l.google.com

#Group
64.233.189.102  groups.google.com
64.233.189.100  groups.google.com
64.233.189.101  groups.google.com
64.233.189.101  groups.l.google.com

#Picasa
74.125.39.147   picasa.google.com
74.125.39.91    photos.google.com
74.125.39.91    picasaweb.google.com
74.125.39.93    picasaweb.google.com
74.125.39.136   picasaweb.google.com
74.125.39.190   picasaweb.google.com
74.125.39.91    lh0.ggpht.com
74.125.39.93    lh1.ggpht.com
74.125.39.136   lh2.ggpht.com
74.125.39.190   lh3.ggpht.com
74.125.39.91    lh4.ggpht.com
74.125.39.93    lh5.ggpht.com
74.125.39.136   lh6.ggpht.com
74.125.39.190   lh7.ggpht.com

#Translate
74.125.39.100   translate.google.com
74.125.39.101   translate.google.com
74.125.39.102   translate.google.com
74.125.39.113   translate.google.com
74.125.39.138   translate.google.com
74.125.39.139   translate.google.com

#Reader
74.125.39.99    reader.google.com
74.125.39.103   reader.google.com
74.125.39.104   reader.google.com
74.125.39.105   reader.google.com
74.125.39.106   reader.google.com

#Sites
64.233.161.9    sites.google.com
74.125.53.9     sites.google.com 
74.125.39.102   sites.google.com 
74.125.39.139   sites.google.com 
74.125.45.9     sites.google.com 
74.125.39.139   sites.google.com

#Code
74.125.53.9     code.google.com   
74.125.45.9     code.google.com   
64.233.161.9    code.google.com   
74.125.39.102   code.google.com   
209.85.137.9    code.google.com   
74.125.39.139   code.l.google.com

#Labs
74.125.39.141   www.googlelabs.com
74.125.39.141   appspot.l.google.com
74.125.39.100   labs.google.com
74.125.39.101   labs.google.com
74.125.39.102   labs.google.com
74.125.39.113   labs.google.com
74.125.39.138   labs.google.com
74.125.39.139   labs.google.com

#Knol
74.125.39.100   knol.google.com
74.125.39.101   knol.google.com
74.125.39.102   knol.google.com
74.125.39.113   knol.google.com
74.125.39.138   knol.google.com
74.125.39.139   knol.google.com

#Sketchup
74.125.39.99    sketchup.google.com
74.125.39.103   sketchup.google.com
74.125.39.104   sketchup.google.com
74.125.39.105   sketchup.google.com
74.125.39.106   sketchup.google.com

#Pack
74.125.39.99    pack.google.com
74.125.39.103   pack.google.com
74.125.39.104   pack.google.com
74.125.39.105   pack.google.com
74.125.39.106   pack.google.com

#News
74.125.39.99    news.google.com
74.125.39.103   news.google.com
74.125.39.104   news.google.com
74.125.39.105   news.google.com
74.125.39.106   news.google.com
74.125.39.147   news.google.com
74.125.39.99    nt0.ggpht.com
74.125.39.103   nt1.ggpht.com
74.125.39.104   nt2.ggpht.com
74.125.39.105   nt3.ggpht.com
74.125.39.106   nt4.ggpht.com
74.125.39.147   nt5.ggpht.com

#Calendar
74.125.39.100   calendar.google.com
74.125.39.101   calendar.google.com
74.125.39.102   calendar.google.com
74.125.39.113   calendar.google.com
74.125.39.138   calendar.google.com
74.125.39.139   calendar.google.com

#Blogger
74.125.39.191   www.blogger.com
74.125.39.191   blogger.l.google.com
74.125.39.191   blogger.google.com

#Orkut
74.125.47.85    www.orkut.com
74.125.47.86    www.orkut.com
74.125.47.85    orkut.google.com
74.125.47.86    orkut.l.google.com

#Youtube
74.125.39.100   www.youtube.com
74.125.39.101   www.youtube.com
74.125.39.102   www.youtube.com
74.125.39.113   www.youtube.com

#Toolbar
74.125.39.100   toolbar.google.com
74.125.39.101   toolbar.google.com
74.125.39.102   toolbar.google.com
74.125.39.113   toolbar.google.com

#Apps
74.125.39.99    apps.google.com
74.125.39.103   apps.google.com
74.125.39.104   apps.google.com
74.125.39.115   apps.google.com

#Chrome
74.125.39.99    chrome.google.com
74.125.39.103   chrome.google.com
74.125.39.104   chrome.google.com
74.125.39.115   chrome.google.com

#Finance
74.125.39.99    finance.google.com
74.125.39.103   finance.google.com
74.125.39.104   finance.google.com
74.125.39.115   finance.google.com

#Desktop
74.125.39.99    desktop.google.com
74.125.39.103   desktop.google.com
74.125.39.104   desktop.google.com
74.125.39.115   desktop.google.com

#Ajax
74.125.53.9     ajax.googleapis.com
74.125.45.9     ajax.googleapis.com
64.233.161.9    ajax.googleapis.com
209.85.137.9    ajax.googleapis.com
72.14.203.9     googleapis-ajax.l.google.com

#Modules
74.125.39.132   1.ig.gmodules.com
74.125.39.132   2.ig.gmodules.com
74.125.39.132   3.ig.gmodules.com
74.125.39.132   4.ig.gmodules.com
74.125.39.132   5.ig.gmodules.com
74.125.39.132   6.ig.gmodules.com

#Misc
64.233.189.101  id.google.com
64.233.189.102  id.google.com
64.233.189.100  id.google.com
64.233.189.100  id.l.google.com
74.125.39.132   skins.gmodules.com
74.125.39.132   googlehosted.l.google.com
74.125.39.132   img0.gmodules.com
74.125.39.99    blogsearch.google.com
74.125.39.99    www2.l.google.com
74.125.39.99    www.gstatic.com
74.125.39.100   www3.l.google.com
74.125.39.99    buttons.googlesyndication.com

2009年7月17日

oracle10g em 乱码

在安装完oracle10g后,由于jre默认使用的字体问题,使得em,dbca,netca,netmgr显示中文时出现"□□"字样的乱码,下面来说明这个问题的解决办法:  

 1. 改变$ORACLE_HOME/jdk目录下的jre的默认字体

  cd $ORACLE_HOME/jdk/jre/lib/

  ls font*zh_CN*  

 font.properties是默认使用的字体  

 还可以看到font.properties.zh_CN.Redhat和其它的字体

  cp font.properties font.properties.bak  

 cp font.properties.zh_CN.Redhat font.properties

 2.删除Cache下的gif文件(em页面中用到)

  cd $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/   ls *.gif

  rm -f *.gif   

3. 重新启动EM服务

  cd $ORACLE_HOME/bin/

  ./emctl stop dbconsole  

 ./emctl start dbconsole