dos2unix

记性不好,需要一个blog。

2011年10月2日

:D  今天一朋友问putty有中文支持问题,显示不了中文,也不支持中文输入,查了查CU的一些老帖子和google了一下,发现好像都没有很好的解决,有些可以显示中文但不能输入中文,有些可以显示中文但是复制再粘到文本中就是乱字符,现在介绍一个小方法(已经在主机为redhat9,客户端为XP使用putty0.58 0.56)上通过: 

 打开putty,选择 Category中的Windows--->Appearance---> Font settings  
把"字体"改为"新宋体"(其实改为其它中文字体都行像宋体之类的),字符集为CHINEASE_GB2312 



再选择 Category中的Windows--->Translation ----> Received data assumed to be ... 



把character设置为 "Use font encoding" 
保存后就可以了 
posted @ 2011-10-02 16:14 Nobooy 阅读(153) | 评论 (0)编辑 收藏
   很多朋友在安装linux的时候,一不注意就安装成了英文版。其结果就是显示显示中文的时候乱码,例如打开网页,满眼睛尽是方块。对于此,网上提供了很多的方法,但有时候并不凑效。so,我把我解决这个问题的过程记下来,一来为了健忘的自己,二来也方便别人,何乐而不为!
   
   系统:英文版centos 5.7
   症状:英文显示没问题;中文网页显示为乱码,不管是用GB18030还是2312
   解决:安装fonts-chinese-3.02-9.6.el5.
   
   如果电脑连了网,我们可以很方便的用yum安装
[root@localhost ~]#yum install fonts-chinese

这里还有一些相关的命令,可以查询字体等相关信息:
[root@localhost ~]# rpm -qa | grep fonts-
bitmap-fonts-0.3-5.1.1
xorg-x11-fonts-misc-7.1-2.1.el5
fonts-chinese-3.02-9.6.el5
xorg-x11-fonts-base-7.1-2.1.el5
xorg-x11-fonts-75dpi-7.1-2.1.el5
urw-fonts-2.3-6.1.1
xorg-x11-fonts-100dpi-7.1-2.1.el5
bitstream-vera-fonts-1.10-7
ghostscript-fonts-5.50-13.1.1
xorg-x11-fonts-ISO8859-1-75dpi-7.1-2.1.el5
xorg-x11-fonts-Type1-7.1-2.1.el5
xorg-x11-fonts-ISO8859-1-100dpi-7.1-2.1.el5
dejavu-lgc-fonts-2.10-1
xorg-x11-fonts-truetype-7.1-2.1.el5
[root@localhost ~]# cat /etc/sysconfig/i18n 
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@localhost ~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
网上提供的消除中文乱码的方法如下,只是一种治标的方法,应该是先查看有没有相关的字体包已经安装,再考虑更改如下设置:
将i18n内容改为
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
posted @ 2011-10-02 15:48 Nobooy 阅读(360) | 评论 (0)编辑 收藏

2011年6月22日

Any简介

Any库提供一个类型, any, 它允许存入任意类型且稍后取回,而不损失类型安全性。它有点象是可变类型的化合物:它可以持有任意类型,但你必须知道类型才能取回值。可以把  any 看作为上锁的安全性。没有正确的钥匙,你不能进入其中。any 对它所保存
的类型有以下要求:
  CopyConstructible 它必须可以复制这个类型
  Non-throwing destructor 就象所有析构函数应该的那样!
  Assignable 为了保证强异常安全(不符合可赋值要求的类型也可以用于  any, 但没有强
异常安全的保证)

 

Any用法

Any库定义在名字空间  boost 内。你要用类  any 来保存值,用模板函数  any_cast 来取回存放
的值。为了使用  any, 要包含头文件  "boost/any.hpp". 创建一个可以存放任意值的实例是很容
易的。
boost::any a;

把任意类型的值赋给any也很方便

boost::any a=string("hello");

boost::any a=10;

boost::any a=54.6;

从any中取出值要麻烦些,不过这保证了安全性,any不允许在不知道类型的情况下取出值,但提供了获取类型信息的接口。

int b;

if(typeid(string)==a.type())

{

b=any_cast<int>(a);  // 有点像stl中的类型转换方式

}

如果直接 b=a的话将会抛出一个异常bad_any_cast。

代码示例

   1:  
   2:  
   3: #include <boost/any.hpp>
   4: #include <iostream>
   5: #include <vector>
   7: #include <string> 
   8:  
   9: using namespace std;
  10: using namespace boost; 
  11:  
  12: void print(boost::any& arr)
  13: {
  14:  
  15: if(typeid(string)==arr.type())
  16:  
  17: {
  18:  
  19: cout<<any_cast<string>(arr)<<endl;
  20:  
  21: }
  22:  if(typeid(int)==arr.type())
  23:  
  24: {
  25:  
  26: cout<<any_cast<int>(arr)<<endl;
  27:  
  28: }
  29:  if(typeid(char)==arr.type())
  30:  
  31: {
  32:  
  33: cout<<any_cast<char>(arr)<<endl;
  34:  
  35: }
  36:  if(typeid(double)==arr.type())
  37:  
  38: {
  39:  
  40: cout<<any_cast<double>(arr)<<endl;
  41:  
  42: }
  43: } 
  44:  
  45: int main(int argc, char* argv[])
  46: {
  47:  
  48: vector<boost::any> any_arr;
  49:  
  50: any_arr.push_back(string("hello"));
  51:  
  52: any_arr.push_back(10);
  53:  
  54: any_arr.push_back('a');
  55:  
  56: any_arr.push_back(56.0);
  57:  for(int 
  58: i=0;i<any_arr.size();i++)
  59:  
  60: {
  61:  
  62: print(any_arr[i]);
  63:  }
  64:  return 
  65: 0;
  66: }
posted @ 2011-06-22 18:37 Nobooy 阅读(525) | 评论 (0)编辑 收藏
仅列出标题  

导航

<2019年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

统计

常用链接

留言簿

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜