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

在Windows的Sublime Text控制台中打印utf8字符串

石超
2023-03-14
问题内容

html" target="_blank">python myscript.py从Windows控制台cmd.exe(即Sublime Text 外部 )运行此代码时,它可以工作:

# coding: utf8
import json
d = json.loads("""{"mykey": {"readme": "Café"}}""")
print d['mykey']['readme']

咖啡店

在Sublime Text 2中使用运行它时CTRL+B,它将失败:

  • 这样(默认情况下):

print d [‘mykey’] [‘readme’]
UnicodeEncodeError:’ascii’编解码器无法在位置3编码字符u’\ xe9’:序号不在范围内(128)
[在0.1秒内完成,退出代码为1]

  • 或类似,在使用Sublime Text 3在Python 3中打印UTF-8的答案得到解决方案后(即在构建系统中添加):"env": {"PYTHONIOENCODING": "utf8"},

[解码错误-输出不是utf-8]
[解码错误-输出不是utf-8]
[在0.1秒内完成]

  • 添加"encoding": "utf-8"在Python崇高-build文件并没有帮助

print 如果Sublime Text 2(适用于Windows)控制台包含一些UTF8字符,该如何正确操作?

注意:这 不是 使用Sublime Text 3在Python
3中打印UTF-8的重复,我之前已经链接到此问题。

这是Python.sublime-build文件:

{ "cmd": ["python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python" }

(我尝试了有和没有"env": ...,有和没有"encoding": ...


问题答案:

我找到了一种可能的解决方法:encodingPython.sublime-build文件中添加参数:

{
"cmd": ["python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "cp1252",
...

注意:"encoding": "latin1"似乎也可以使用,但是-我不知道为什么-"encoding": "utf8"不能使用,即使.py文件是UTF8,即使Python 3使用UTF8等也是如此。

编辑:现在可以使用:

{
  "cmd": ["python", "-u", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.python",
  "encoding": "utf8",
  "env": {"PYTHONIOENCODING": "utf-8", "LANG": "en_US.UTF-8"},
}

链接的主题:

  • 管道在Python标准输出时设置正确的编码和这个答案特别

  • 如何更改崇高的文本3的编码方式适用于MacOS的env伎俩。



 类似资料:
  • 问题内容: 我一直在寻找其他语言的用法,但发现必须使用特殊字符\b删除最后一个字符。 对于多次调用console.log()的node.js,这不起作用。 如果我写一个日志: 我得到结果:abd 但是如果我写: 我得到结果: abc d 我的目标是打印一条等待消息,例如: 等待 等待。 等待中.. 等待中… 然后再次: 等待 等待。 等等 都在同一行。 问题答案: 有以下功能可用: 可以提供参数

  • 我试图使用TDD(测试驱动开发)与。当我使用时,不会到控制台。 我正在使用来运行它。 似乎说默认情况下它应该工作:http://pytest.org/latest/capture.html 但是: 没有任何东西被打印到我的标准输出控制台(只是正常的进度和多少测试通过/失败)。 我正在测试的脚本包含打印: 在模块中,默认情况下打印所有内容,这正是我所需要的。但是,出于其他原因,我希望使用。 有人知道

  • 问题内容: 我正在创建一个需要进度条的小型控制台应用程序。就像是… 我的问题是,如何删除已经打印到控制台的字符?当我达到第51个百分比时,我必须从控制台中删除此行并插入新行。在我当前的解决方案中,这就是发生的事情… 我使用的代码是… 我正在使用PHP在Linux中进行此操作(只有我会使用该应用-请原谅语言选择)。因此,该解决方案应在Linux平台上运行- 但是,如果您有跨平台的解决方案,那将是更好

  • 问题内容: 我想知道是否可以使用java String类在控制台上打印带下划线的文本。 问题答案: 您只能依靠控制台解释字符串的方式。例如,在中,您可以执行类似在转义序列之间插入字符串和(对于 粗体 )的操作: 您应该阅读自己喜欢的控制台的文档。

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

  • 由来 编码中我们常常需要调试输出一些信息,除了打印日志,最长用的要数System.out和System.err 比如我们打印一个Hello World,可以这样写: System.out.println("Hello World"); 但是面对纷杂的打印需求,System.out.println无法满足,比如: 不支持参数,对象打印需要拼接字符串 不能直接打印数组,需要手动调用Arrays.to

  • 打印函数的名称。 使用 console.debug() 和传入方法的 name 属性将方法名称记录到控制台的 debug 通道。 const functionName = fn => (console.debug(fn.name), fn); functionName(Math.max); // max (logged in debug channel of console)

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