• 如何在CMD-DOS窗口中显示UTF-8中文字符(他山之石)

    原文转自(http://blog.sina.com.cn/s/blog_794b1d96010136yy.html)

    在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。

    如果想正确显示UTF-8字符,可以按照以下步骤操作:

    1、打开CMD.exe命令行窗口

    2、通过 chcp命令改变代码页,UTF-8的代码页为65001

    chcp 65001

    执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。

    3、修改窗口属性,改变字体

    在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。

    这时使用type命令就可以显示UTF-8文本文件的内容了:

    type filename.txt

    4、通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。

    //补充

    dos指令:

    chcp 65001 就是换成UTF-8代码页

    chcp 936 可以换回默认的GBK

    chcp 437 是美国英语

    CMD使用命令chcp:

    功能: 
    显示或设置活动代码页编号

      CHCP [nnn]
      nnn 指定代码页编号。
      不加参数键入 CHCP 显示活动代码页编号。
      nnn指定一已有的系统字符集,该字符集在CONFIG.SYS文件中由COUNTRY命令定义。
      在DOS下可以通过mode命令来设置代码页。
      选定代码页: MODE CON[:] CP SELECT=yyy
      代码页状态: MODE CON[:] CP [/STATUS]
      按Windows+R组合键,然后输入cmd或者command打开命令提示符。
      比如输入:mode con cp select=936,则表示显示简体中文。如果输入mode con cp select=437,则表示显示MS-DOS 美国英语,而中文显示将会是?。
      MS-DOS为以下国家和语言提供字符集:
      代码页 描述
      1258 越南语
      1257 波罗的语
      1256 阿拉伯语
      1255 希伯来语
      1254 土耳其语
      1253 希腊语
      1252 拉丁 1 字符 (ANSI)
      1251 西里尔语
      1250 中欧语言
      950 繁体中文
      949 朝鲜语
      936 简体中文(默认)
      932 日语
      874 泰国语
      850 多语种 (MS-DOS Latin1)
      437 MS-DOS 美国英语

  • win8下Apache+Mysql+PHP多版本切换环境

    环境 win8 x64  apache+mysql+php(多版本)
    mysql 
    由于5.6版本下载多次安装配置后启动仍然出现异常,只好搜索使用5.5.30版本
    下载地址
    http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.30-winx64.msi
    apache
    下载地址:
    http://archive.apache.org/dist/httpd/binaries/win32/
    对应安装包
    httpd-2.2.22-win32-x86-openssl-0.9.8t.msi

    php
    下载地址:
    http://windows.php.net/download/
    对应版本 (均为 x86 Thread Safe 版本)
    5.2.17
    5.3.25
    5.4.15
    如需更早期的版本请移步至:http://museum.php.net/  下载

    安装配置过程简记:
    (注意:安装过程中:请选择自定义配置,然后设置安装目录,最好不要放在C盘,不然你会很蛋疼~~)
    1.安装mysql,按安装包提示,设置:开发者环境,root密码。按逻辑走,基本就没问题,除非你RP爆发了....
    2.安装apache,同上安装完成后,通常都能测试访问成功,除非你RP再一次爆发...
    3.由于需要多个版本的PHP,主要作测试用。解压不同版本的PHP到对应目录。我这边设定的是 d:\php\php-version 即 d:\php\php5217 等等 
    然后在对应php-version 目录下创建php.ini文件。配置参考这边就不用赘述了,如果你不知道,建议你找个地方撞撞,当然也欢迎在这边留言

    4.以上工作完成后,修改apache配置文件,
    .........
    ##php5217
    LoadModule php5_module D:/php/php5217/php5apache2_2.dll
    PHPIniDir "D:/php/php5217" 

    ##php5325
    #LoadModule php5_module D:/php/php5325/php5apache2_2.dll
    #PHPIniDir "D:/php/php5325"

    ##php5415
    #LoadModule php5_module D:/php/php5415/php5apache2_2.dll
    #PHPIniDir "D:/php/php5415"
    ........
    <IfModule dir_module>
        DirectoryIndex  index.php index.html
    </IfModule>
    .......
    <IfModule mime_module>
    .......
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .html
    .......
    设置完成后保存,然后重启apache服务,然后写个php文件 访问查看下phpinfo()信息。

    5.配置php.ini,加载php_mysql相关扩展
    由于php存在多个版本,这边需要指定一下具体的扩展及包含目录
    以php5.2.17版本配置为例:
    extension_dir = "D:\php\php5217\ext"
    ;移除类似以下扩展语句前的分号
    extension=php_mysql.dll
    extension=php_mysqli.dll
    ;时区设置
    ;[Date] 
    date.timezone = Asia/Shanghai
    注:这边鄙人的RP也爆发了,5.2版php扩展始终加载异常,各种配置,各种重启,各种蛋疼
    幸运的是最终还是解决了,于是顺便啰嗦一下过程
    下载了一个installer.msi文件,安装后将安装目录中的 ext/* 扩展dll文件拷贝到 d:\php\php5217 扩展目录下,覆盖了一下,重启apache后,扩展加载就成功了
    msi安装包下载地址如下
    http://124.254.47.50/download/30786342/38666427/3/msi/197/11/1350667563205_11/php-5.2.17-win32-VC6-x86-installer.msi
    当然,上面并不是真正蛋疼的,郁闷的是现在切换到5.3版本,Apache无法正常启动了,shit~
    无赖,卸载5.2版安装文件。。。,那5.2版下面的扩展加载要如何解决呢
    网上大肆搜罗一番:一种方法是说把php目录下的几个dll文件拷贝到system32下(这个似乎不太好)
    还有一种方法就是把php目录下的dll动态链接库拷贝到Apache的bin目录下(原因是PHP在这边是解压版,Windows无法正常加载动态连接库文件,fk) 不过最终还是选择了这种方法,算是比较折中吧。

    6.完成以上工作后,apache-php-mysql的运行环境就基本搭建完毕了,
    根据个人需求添加相关扩展即可,如需更换php版本,修改httpd.conf文件中调用的php5模块,然后重启即可。
    虽说有点小繁琐,但毕竟不需要经常切换php版本,所以也还是勉强可以接受的
    :)

    如果你有更好的方法,希望不吝指教 :D
click
©2010-2024 Jeen All Rights Reserved.Powered by emlog 京ICP备15058100号-1