• "LookupError: unknown encoding: cp65001"及命令行无法输入中文问题


    • 今天在win10下装完python和pip后,发现在python中运行任何指令都会报错——”LookupError: unknown encoding: cp65001”的错误提示,并且鼠标焦点在命令行窗口内时,win10自带输入法无法切换为中文模式。或许装其他输入法会有用,但一来并不想委屈求全,二来料想也不能解决报错问题。于是到处找办法。找来找去就是那一篇文章,真是一个人写,十个人抄,还都不管能不能行。找到两个质量略好的——stackoverflow1stackoverflow2。总之是代码页(codepage)的问题,在cmd下chcp命令(大概是change codepage?)可查看当前代码页,chcp nnn可改变当前使用的代码页。
      常用有936-GBK编码,437-美国英语,还有这个出问题的65001-utf-8编码。
      所以解决报错可以每次打开命令行都用chcp 936来更换当前代码页,也可以在属性和默认值里修改。然而修改后重启cmd查看属性还是65001的代码页。我猜是个bug吧。那两个帖子描述的解决方案不够优雅,所以几乎是放弃了,重装的心都有了。然而,然而,我想到管理员命令行是正常的,于是又有了希望。打开注册表,定位到”HKEY_CURRENT_USERConsole”,对比正常与非正常的键值对,发现只多了一个codepage键,于是直接修改CodePage键的值为3a8(936的十六进制值),然后重启命令行,啊,只如初见。
    C:Usershaha>chcp /?  
    显示或设置活动代码页编号。  
    CHCP [nnn]  
        nnn   指定代码页编号。  
    不带参数键入 CHCP 以显示活动代码页编号。
    • 欢心得意之际发现命令行从前往后写时,如果后面有字就会覆盖掉,这个情况word也有,但一直忍着。查了一下发现是插入模式下不会有这个问题,改写模式会有,于是在属性里勾选插入模式。啊,满意。
  • 相关阅读:
    表达式树
    二叉查找树
    二叉树的先中后序遍历
    利用树的先序和后序遍历打印 os 中的目录树
    栈应用(中缀表达式转后缀表达式并计算后缀表达式的值)
    C语言的运算符的优先级与结合性+ASCII表
    算法运行时间中的对数
    c++ primer 第三章 标准库类型
    C++ premier 中文版 学习笔记(第五章 表达式)
    使用applescript脚本方式以管理员权限运行
  • 原文地址:https://www.cnblogs.com/findneo/p/6833179.html
Copyright © 2020-2023  润新知