当前位置: 首页 > 面试题库 >

Python,Unicode和Windows控制台

长孙淳
2023-03-14
问题内容

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


问题答案:
$ python -c 'import sys, codecs, locale; print sys.stdout.encoding; \
    sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout); \
    line = u"\u0411\n"; print type(line), len(line); \
    sys.stdout.write(line); print line'
  UTF-8
  <type 'unicode'> 2
  Б
  Б

  $ python -c 'import sys, codecs, locale; print sys.stdout.encoding; \
    sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout); \
    line = u"\u0411\n"; print type(line), len(line); \
    sys.stdout.write(line); print line' | cat
  None
  <type 'unicode'> 2
  Б
  Б


 类似资料:
  • 问题内容: 我们尝试在Windows上使用Java和UTF-8。该应用程序在控制台上写入日志,我们希望对日志使用UTF-8,因为我们的应用程序具有国际化的日志。 可以配置JVM,使其使用JVM的参数生成UTF-8 。它工作正常,但Windows控制台上的输出出现乱码。 然后,我们可以将控制台的代码页设置为65001(),但是在这种情况下,文件将无法工作。这意味着当我们尝试通过脚本(名为start.

  • 问题内容: 我的配置:Win7 + Python 2.6 + eclipse + PyDev 如何在以下位置启用Unicode打印语句: Eclipse中的PyDev控制台 空闲的Python GUI 打印语句示例: 结果如下: 问题答案: 对于Eclipse Unicode控制台支持: 添加到eclipse安装目录中。 在日食中-确保选择UTF-8 在日食中-确保选择了UTF-8 从-更改为 确

  • 有人能告诉我如何添加HTML Unicode到我的应用程序标题,这样的屁股“空”HTML Unicode或任何东西。因为我已经试了好几天了,但没有什么对我有用的。

  • 我在windows控制台中打印出unicode符号时遇到问题。 为克服这一问题进行了以下工作,但没有成功; > 将windows控制台的字体更改为Lucida控制台。 每次运行windows控制台时,我都会更改编码设置,即使用 我尝试过几次的一个额外步骤是运行带有参数的java文件,即(其中“filter”是类的名称)

  • 问题内容: 我需要替换Java字符串中的所有特殊控制字符。 我想问一下Google Maps API v3,而Google似乎不喜欢这些字符。 例如:http : //www.google.com/maps/api/geocode/json?sensor=false&address=NEW%20YORK%C2%8F 该URL包含以下字符:http : //www.fileformat.info/i

  • 问题内容: Windows控制台至少在十年之前就可以识别Unicode,甚至可以追溯到Windows NT。但是由于某种原因,包括Perl和Python在内的主要跨平台脚本语言仅输出各种8位编码,因此需要很多麻烦来解决。Perl发出“正在打印宽字符”警告,Python给出一个charmap错误并退出。为什么这些年来,他们为什么不只是简单地调用输出UTF-16 Unicode的Win32 -W AP