sublime python出现中文乱码怎么办

一、乱码现象

利用sublime自带编译快捷方式ctrl+B会出现中文乱码的情况。

print("没有循环数据!")
print("完成循环!")

27a6620b77d9298c8c6b023267e0cae.png

二、寻找原因

1、由于之前我已经安装了插件ConvertToUTF8,排除文本编码错误问题。

2、相同的代码在插件sublimerepl搭建的解释器交互下(按F5键),能成功显示中文。

20f56cbfd658834080f071c523d10be.png

在查找了很多案例之后发现:

Anaconda插件安装之后会自动生成一个叫“Anaconda Python Builder”的编译系统,在 工具-编译系统-中可以看到。

sublime读取解释器返回文本的编码不一样,于是通过下面这段代码验证:

import sys
print(sys.stdout.encoding)

用ctrl+B进行编译,返回的是“cp936”,用repl解释器交互返回的是utf-8,说明是由于编码不一致导致的。

之后新建了一个编译系统:

在Python3.sublime.build中写入下面代码:

{
"cmd":["C:\\Users\\jh\\Anaconda3\\python.exe", "-u", "$file"],
"path":"C:\\Users\\jh\\Anaconda3\\python.exe",   // 注意:路径根据自己的python安装路径而定 
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "utf-8" ,
"env": {"PYTHONIOENCODING": "utf8"}//通过这句,使编码一致,都是utf8
}

之后再用ctrl+B进行编译,返回“utf-8”,并且能成功打印中文。

但是在此之前,因为尝试多种方法,导致anaconda插件的自动补全代码无法使用,于是重装。

三、Anaconda插件的正确使用

1、阅读官方指南,官方给的建议是最好每个项目都独立设置。

2、根据官方的建议,新建一个project,并编辑项目,在sublime-project文件中写入:

{"build_systems":[{"name": "Anaconda Python Builder","selector": "source.python","encoding": "utf-8" ,"env": {"PYTHONIOENCODING": "utf8"},\\使编码一致"shell_cmd": "C:\\Users\\jh\\Anaconda3\\python.exe -u \"$file\"",\\解释器路径}],"folders":[{"follow_symlinks": true,"path": "."}],"settings":{"python_interpreter": "C:\\Users\\jh\\Anaconda3\\python.exe" \\解释器路径}
}

保存。

3、在Preferences>Package Settings>Anaconda,在那里会发现两个不同的条目,Settings-Default和Settings-User分别选择1和2。这些文件中的任何选项都必须放置在全局范围内。在Settings-User中写入:

 {   //http://damnwidget.github.io/anaconda/IDE///"python_interpreter":"C:\\Users\\jh\\Anaconda3\\envs\\tensorflow\\python.exe","python_interpreter":"C:\\Users\\jh\\Anaconda3\\python.exe","auto_python_builder_enabled": false,"suppress_word_completions":true,//禁用掉Sublime Text原生的自动补全"suppress_explicit_completions":true,"complete_parameters":true,"anaconda_linter_phantoms": true,//提示错误,识别代码中的语法错误,代码建议,格式建议等"pyflakes_explicit_ignore"://告诉PyFlakes要忽视哪些警告[// "Redefined","UnusedImport"// "UndefinedName",// "UndefinedLocal",// "UnusedVariable,",// "UndefinedExport",// "DuplicateArgument",// "RedefinedWhileUnused"],"anaconda_linting_behaviour": "always",//模式"anaconda_linting": true,"anaconda_linter_delay": 2.0,//周期"swallow_startup_errors": true,"env": {"PYTHONIOENCODING": "utf8"} ,}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/2986.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【ARM Linux 系统稳定性分析入门及渐进 1.2 -- Crash 工具依赖内容】

请阅读:【Linux 维测及Crash使用专栏】 文章目录 Prerequisites1. 内核对象文件2. 内存镜像3. 平台处理器类型4. Linux 内核版本 Prerequisites crash 工具需要依赖下面的内容: 1. 内核对象文件 vmlinux 文件:需要一个 vmlinux 内核对象文件&#xff…

电路设计过程就是波形整形过程

这种说法有一定的道理。在电路设计中,常常需要对输入的电信号波形进行处理和调整,以满足后续电路或系统的要求,这在某种程度上可以理解为波形整形的过程。 例如,在数字电路中,输入的信号可能存在噪声、干扰或者不符合…

计算机视觉-显著性检测实验报告

实验四 显著性检测实验 一、实验目的 掌握多种显著性检测算法的基本原理。学会使用计算机程序实现不同的显著性检测方法。通过对比不同的显著性检测算法,理解各算法的优缺点。分析显著性检测在实际图像处理应用中的效果和局限性。 二、实验内容和要求 1&#x…

05-Dubbo的应用及注册和SPI机制

05-Dubbo的应用及注册和SPI机制 Dubbo 的服务注册中应用级注册优化 Dubbo 的注册中心 Dubbo 支持很多种注册中心,支持的主流注册中心包括:ZooKeeper、Nacos、Redis Dubbo 需要引入注册中心依赖,并且配置注册中心地址,这里以 ZooKe…

【 AI 大模型:重塑软件开发的新势力】

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

南宁周边乡村游微信小程序ssm+论文源码调试讲解

第二章 开发工具及关键技术介绍 2.1微信开发者工具 微信开发者工具现在已经被小程序开发团队开发运行,目前微信开发者工具任然在不断的完善中,在开发小程序时经常要不断的更新。可以使用微信扫码登陆开发者工具,开发者工具将使用这个微信帐号…

ssm校园二手交易管理系统+vue

系统包含:源码论文 所用技术:SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习,获取源码看文章最下面 需要定制看文章最下面 目 录 1 绪论 1 1.1 选题背景 1 1.2 选题意义 1 1.3 研究内容 2 2 系统开发技术 3 2.1 MySQL数…

DB-GPT系列(二):DB-GPT部署(镜像一键部署、源码部署)

一、简介 DB-GPT 是一个开源项目,其将大语言模型 LLM 与数据库紧密结合。该项目主要致力于探索如何让预训练的大规模语言模型(例如 GPT)能够直接与数据库进行交互,从而生成更为准确且信息丰富的回答。 DB-GPT部署后能否直接使用…

掌握 Jest 配置文件:优化单元测试的灵活性与可维护性

引言 在现代软件开发中,单元测试是确保代码质量和稳定性的关键步骤。Jest 是一个广泛使用的 JavaScript 测试框架,提供了丰富的配置选项来优化测试过程。通过配置文件,开发者可以更灵活地控制测试环境,确保测试的可靠性和可维护性…

网络:IP分片和组装

个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言16位标识,3位标志,13位片偏移分片组装总结 前言 对于IP分片和组装的总结 当一个IP数据报的大小超过网络的MTU(最…

Node.js:Express 中间件 CORS 跨域资源共享

Node.js:Express 中间件 & CORS 中间件全局中间件局部中间件分类错误级中间件内置中间件 CORS原理预检请求 中间件 中间件是不直接接收请求,也不直接发送响应,而是在这之间处理一个中间过程的组件。 当一个请求到来,会经过多…

【VScode】中文版ChatGPT编程工具-CodeMoss!教程+示例+快捷键

文章目录 1. 多模型选择2. 编辑快捷键3. 历史记录收藏 CodeMoss使用教程1. 安装CodeMoss插件2. 配置AI模型3. 使用快捷键4. 进行代码优化与解释5. 收藏历史记录 总结与展望 在当今快速发展的编程世界中,开发者们面临着越来越多的挑战。如何提高编程效率,…

LabVIEW适合开发的软件

LabVIEW作为一种图形化编程环境,主要用于测试、测量和控制系统的开发。以下是LabVIEW在不同应用场景中的适用性和优势。 一、测试与测量系统 LabVIEW在测试与测量系统中的应用广泛,是工程测试领域的主流工具之一。利用其强大的数据采集与处理功能&…

命令模式(Command)

1 意图 将一个请求封装为一个对象,从而使得可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 2 结构 Command 声明执行操作的接口。ConcreteCommand 将一个接收者对象绑定于一个动作;调用接收者相应的操作&#xff0c…

Linux 线程概念

一. 线程的基本概念 线程是进程内的一个执行单元,它是调度和执行的基本单位。 1.1 Linux中的线程 在Linux系统中,在CPU眼中,看到的PCB都要比传统的进程更加轻量化。 1.2 线程的优点 创建一个新线程的代价要比创建一个新进程小得多。与进…

Qt聊天室项目

目录 项目要求 项目背景 技术分析 架构设计 服务器架构 模块划分 模块之间的交互 客户端架构 模块划分 模块之间交互 项目展示 项目实现 服务器 ui server.pro dialog.h dialog.cpp 客户端 ui cient.pro dialog.h dialog.cpp 打包步骤不做演示 视频演示 项目…

node.js模块化分析

什么是Node.js模块化 Node.js中的模块化‌是指将一个大文件拆分成独立且相互依赖的多个小模块。每个JS文件被视为一个独立的模块,模块之间是互相不可见的。如果一个模块需要使用另一个模块,则需要使用指定的语法来引入该模块,并且只能使用模块…

sql练习专场(一) (1-5)

这是总结的一些sql题目,共25道题,每个博客会写5道题 第一题 这道题需要找出连续活跃3天以上的用户,其中每个用户每天可以连续登录多次。 create table sql1_1(uid string,dt string );insert into sql1_1 values(A,2023-10-01),(A,2023…

自动化立体仓库:详细设计方案

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 这份文件是关于自动化立体仓库设计方案的详细介绍,包括了自动化立体仓库的重要性、特点、设计程序、机械部分设计方案、系统硬件设计、系统软件设计以及系统调试等关键部分…

windows运行ffmpeg的脚本报错:av_ts2str、av_ts2timestr、av_err2str => E0029 C4576

问题描述 我目前的环境是: 编辑器: Microsoft Visual Studio Community 2022 (64 位) 运行的脚本是ffmpeg自带的remux样例,只不过我想用c语言执行这个样例。在执行的过程中报错如下图: C4576 后跟初始值设定项列表的带圆括…