Flask在conzole中输出无法识别的字符

时间:2019-02-16 08:57:14

标签: python flask

我刚刚安装了Flask,这是我第一次使用它。 按照网站上的演示进行操作后,我设法设置了Web服务器,但是由于某种原因,它输出了无法读取的字符

D:\Dafuq\SELF\Flask\Blog>python app.py
Unicode characters: љњертѕуиопасдфгхјклчќзџцвбнм
 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Restarting with stat
Unicode characters: љњертѕуиопасдфгхјклчќзџцвбнм
 * Debugger is active!
 * Debugger PIN: 782-294-512
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [16/Feb/2019 09:52:35] "[37mGET / HTTP/1.1[0m" 200 -
127.0.0.1 - - [16/Feb/2019 09:52:36] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -

我输出了一些Unicode字符,控制台将它们打印出来没有问题。 GET请求行中无法识别的字符可能是什么问题?

谢谢

3 个答案:

答案 0 :(得分:1)

我知道这是旧的,但我遇到了同样的问题并想分享。 如 this issue 中所述,这似乎是 Windows 的问题。

以下修复了它:

import os
import sys

if sys.platform.lower() == "win32": 
    os.system('color')

答案 1 :(得分:0)

您使用的是“ termcolor”软件包还是用于终端中处理颜色的软件包?我刚删除它,问题就消失了。

答案 2 :(得分:0)

取自 this SuperUser post 的以下解决方案对我有用以删除 ANSI 字符:

<块引用>

HKEY_CURRENT_USER\Console\VirtualTerminalLevel 处的注册表项 设置处理 ANSI 转义序列的全局默认行为。 创建一个 DWORD 键(如有必要)并将其值设置为 1 以 默认情况下全局启用(或 0 禁用`)ANSI 处理。

[HKEY_CURRENT_USER\Console]
"VirtualTerminalLevel"=dword:00000001