相关疑难解决方法(0)

如何将Unicode字符写入控制台?

我想知道在控制台应用程序中是否有可能?使用.NET 编写字符.当我尝试编写此字符时,控制台会输出一个问号.

.net c# vb.net console-application

134
推荐指数
4
解决办法
11万
查看次数

Python,Unicode和Windows控制台

当我尝试在Windows控制台中打印Unicode字符串时,出现UnicodeEncodeError: 'charmap' codec can't encode character ....错误.我认为这是因为Windows控制台不接受仅Unicode字符.最好的方法是什么??在这种情况下,有什么方法可以让Python自动打印而不是失败?

编辑: 我正在使用Python 2.5.


注意: @ LasseV.Karlsen回答带有复选标记有点过时(从2008年开始).请谨慎使用下面的解决方案/答案/建议!!

截至今天(2016年1月6日),@ JFSebastian答案更为相关.

python unicode

128
推荐指数
7
解决办法
9万
查看次数

在Python中获取HTTP响应的字符集/编码的好方法

寻找一种使用Python urllib2或任何其他Python库获取HTTP响应的字符集/编码信息的简单方法.

>>> url = 'http://some.url.value'
>>> request = urllib2.Request(url)
>>> conn = urllib2.urlopen(request)
>>> response_encoding = ?
Run Code Online (Sandbox Code Playgroud)

我知道它有时出现在'Content-Type'标题中,但该标题有其他信息,并且它嵌入在我需要解析的字符串中.例如,Google返回的Content-Type标头是

>>> conn.headers.getheader('content-type')
'text/html; charset=utf-8'
Run Code Online (Sandbox Code Playgroud)

我可以使用它,但我不确定格式的一致性.我很确定charset可能完全丢失,所以我必须处理这个边缘情况.某种类型的字符串拆分操作使得"utf-8"从中看出来似乎是做错这种事情的错误方法.

>>> content_type_header = conn.headers.getheader('content-type')
>>> if '=' in content_type_header:
>>>  charset = content_type_header.split('=')[1]
Run Code Online (Sandbox Code Playgroud)

这种代码感觉就像做了太多的工作.我也不确定它是否适用于所有情况.有没有人有更好的方法来做到这一点?

python urllib2 httprequest character-encoding

26
推荐指数
3
解决办法
4万
查看次数