-
如何在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.msiapache下载地址: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.175.3.255.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配置文件,.........##php5217LoadModule php5_module D:/php/php5217/php5apache2_2.dllPHPIniDir "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 .phpAddType 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.dllextension=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