下面的代码将使Python以utf-8的形式输出到控制台,即使在Windows上也是如此。

控制台将在Windows 7上很好地显示字符,但在Windows XP上,它将无法很好地显示字符,但至少它可以工作,而且最重要的是,您的脚本在所有平台上的输出都是一致的。您将能够将输出重定向到文件。

下面的代码在Windows上用python 2.6进行了测试。

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import codecs, sys

reload(sys)

sys.setdefaultencoding('utf-8')

print sys.getdefaultencoding()

if sys.platform == 'win32':

try:

import win32console

except:

print "Python Win32 Extensions module is required.\n You can download it from https://sourceforge.net/projects/pywin32/ (x86 and x64 builds are available)\n"

exit(-1)

# win32console implementation of SetConsoleCP does not return a value

# CP_UTF8 = 65001

win32console.SetConsoleCP(65001)

if (win32console.GetConsoleCP() != 65001):

raise Exception ("Cannot set console codepage to 65001 (UTF-8)")

win32console.SetConsoleOutputCP(65001)

if (win32console.GetConsoleOutputCP() != 65001):

raise Exception ("Cannot set console output codepage to 65001 (UTF-8)")

#import sys, codecs

sys.stdout = codecs.getwriter('utf8')(sys.stdout)

sys.stderr = codecs.getwriter('utf8')(sys.stderr)

print "This is an Ðä¹Î±mpÙ¡È testing Unicode support using Arabic, Latin, Cyrillic, Greek, Hebrew and CJK code points.\n"

python win32console_python、unicode和windows控制台相关推荐

  1. Python图片文字识别——Windows下Tesseract-OCR的安装与使用

    Python图片文字识别--Windows下Tesseract-OCR的安装与使用 前言 Windows下Tesseract-OCR的安装与配置 Tesseract-OCR简介与版本选择 tesser ...

  2. xp支持python最高版本是多少_哪些版本的Python可以在Windows XP中运行?(What versions of Python will work in Windows XP?)...

    哪些版本的Python可以在Windows XP中运行?(What versions of Python will work in Windows XP?) 什么版本的Python可以在Windows ...

  3. Dll注入过滤任意Windows控制台命令行输入

    命令提示符也就是命令行控制台,新版本也叫做Windows 终端.如何做到当命令被输入控制台窗口后能够做到过滤呢? 其中,有一种就是键盘钩子判断键盘输入,但实用性可能不高. 另外一种方法就是获取控制台缓 ...

  4. 【C++】Windows控制台API基本使用(上)

    目录 前言 一.控制台缓冲区大小 一.获取缓冲区大小 二.设置缓冲区大小 三.更详细的结构体 四.特性 二.窗口大小 一.获取窗口大小 二.设置窗口大小 三.光标位置 一.获取光标位置 二.设置光标位 ...

  5. python汉字转unicode_[转]Python、Unicode和中文

    Python.Unicode和中文[转] python的中文问题一直是困扰新手的头疼问题,这篇文章将给你详细地讲解一下这方面的知识.当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题 ...

  6. 如何在C#Windows控制台应用程序中更新当前行?

    使用C#构建Windows控制台应用程序时,是否可以在不扩展当前行或转到新行的情况下写入控制台? 例如,如果我想显示一个百分比,该百分比代表一个过程到完成为止的距离,我只想在与光标相同的行上更新值,而 ...

  7. python与php8-详解Python中Unicode和utf-8

    在Python语言中,Uincode字符串处理一直是一个容易让人迷惑的问题.许多Python爱好者经常因为搞不清Unicode.UTF-8还有其它许许多多的编码之间的区别而大伤脑筋.本文将介绍Unic ...

  8. 【错误记录】Windows 控制台程序编译报错 ( WINDOWS.H already included. MFC apps must not #include <Windows.h> )

    文章目录 一.报错信息 二.解决方案 一.报错信息 Windows 控制台程序编译报错 : 已启动生成- 1>------ 已启动生成: 项目: hacktool, 配置: Debug Win3 ...

  9. 【Visual Studio】Visual Studio 2019 创建 Windows 控制台程序 ( 安装 ‘使用 C++ 的桌面开发‘ 组件 | 创建并运行 Windows 控制台程序 )

    文章目录 一.安装 C++ 桌面开发组件 二.创建并运行 Windows 控制台程序 一.安装 C++ 桌面开发组件 打开 Visual Studio Installer , 点击 " 修改 ...

最新文章

  1. 计算机三级考试网络技术怎么复习,2017计算机三级考试的三大复习阶段(网络技术为例)...
  2. 学习HTML5 canvas遇到的问题
  3. 博客园2013年5月份第1周源码发布详情
  4. Mysql修改binlog日志过期时间
  5. 【视觉项目】【day2】8.21号实验记录(手机固定高度15cm拍摄+直方图均衡化+模板匹配,模板12个,测试28个,效果十分差)
  6. AIgorand的基本原理
  7. 动态代理之: com.sun.proxy.$Proxy0 cannot be cast to 问题
  8. centos运行C程序
  9. 推荐一款强大的国产开源监控系统!
  10. java异常处理-小白学习中
  11. vivado程序固化到flash
  12. 【OpenCV】图像进行数字化操作:像素确定位置、获取像素BGR值、修改像素BGR值、修改指定区域内像素
  13. 当面试官问到以后的职业规划,这样回答绝对称赞你是高手!(二)
  14. 如何用宏定义的方式实现MAX(A,B),MAX(A,B,C),MAX(A,B,C,D)
  15. 软件开发项目计划编制过程[转]
  16. Iphone攻与防-一
  17. Python爬虫企查查
  18. Proteus仿真工程文件打不开
  19. 包含头文件使用 书名号与双引号的区别(直接打符号竟然发表不了,太难了)
  20. 推荐一本书《Atomic Habits》

热门文章

  1. binary search完整笔记
  2. Socket网络编程--简单Web服务器(2)
  3. 微软职位内部推荐-Senior SDE for Cloud Platform
  4. asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”...
  5. Ubuntu 12.10 安装JDK、Hadoop全过程
  6. MySQL order by 是怎么工作的?
  7. GPS系统误差的主要来源
  8. GetOverlappedResult函数详细解答
  9. linux vim模板,FreeBSD8下的vim配置模板
  10. 006_JDK的Number派生类对Comparable接口的实现