解决 vs code 搜索中文结果异常的问题

一、引言

最近在工作中遇到了一个很诡异的问题,在使用 vs code 过程中,发现:

ctrl + f 搜索一个项目文件夹中的结果的时候:
搜索数字没有问题,能出来结果;但是搜索中文就会出不来结果。
明明确认是有相关中文字符串的文件存在,却搜不出来结果。

这是 vs code 的 bug 吗 T_T

二、解决

最后查阅了很多博客发现,这个问题其实是 vs code 的默认编码导致的:

  1. vs code 的默认编码是 UTF-8
  2. 我的项目文件夹的默认编码是 GBK

尽管我在设置中打开了 vs code Auto Guess Encoding 的功能,但是该功能只能在你打开了该文件的时候才会生效

如果是全局 ctrl + f 搜索的话,以默认的 UTF-8 的编码去搜索中文,那么 GBK 编码文件的中文字符串就会搜索不到。

解决这个问题的方案也很简单,只需要指定该项目文件夹的 workspace 编码为 GBK 就好了:

  1. vs code 左下角齿轮按钮 -> 设置(Settings) -> 切换工作区(Workspace)
  2. 搜索 encoding,设置编码为 GBK

在这里插入图片描述

此时再搜索中文,可正常出现相应的搜索结果了。

To be Stronger:)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Awstats是一套非常好用的免费的日志分析软件,他是用perl实现的,支持web log、ftp log和mail log;而且它还能自动根据你浏览器的字符设置来选取语言(支持中文). 但是缺省安装的话有个问题,就是用来搜索的关键字如果是中文的话显示出来是乱码的. 之所以搜索的关键字句会变成乱码的原因,主要是因为现在的搜索引擎都是使用UTF8,而Awstats是使用decodeUTFkeys这个plugin来处理搜索引擎的UTF8关键字,默认是没有打开的,所以在显示上会出现乱码。 要解决中文乱码问题,方法也很简单. 1>修改配置文件awstats.xxx.conf 在配置文件中把decodeutfkeys这个plugin打开就可以了。在配置文件中找到: #LoadPlugin="decodeutfkeys" 去掉前面的#就可以了。 不过打开这个plugin 需要perl模块儿Encode和URI::Escape的支持,一般情况下perl是默认支持的。 配置awstats后 ,运行一切正常。如果打开AWStats会显示: Error: Plugin load for plugin 'decodeutfkeys' failed with return code: Error: Can't locate URI/Escape.pm in @INC (@INC contains: /usr/lib/perl5/5.8.7/i686-linux /usr/lib/perl5/5.8.7 /usr/lib/perl5/site_perl/5.8.7/i686-linux /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl . ./lib ./plugins) at (eval 4) line 1. 这是缺少 Perl 的 URI:Escape模块 下载附件URI-1.58.tar.gz即URI:Escape模块,安装, 解压缩文件 tar zxvf URI-1.58.tar.gz 进入解压缩后目录 cd URI-1.58 然后 perl Makefile.PL make make install 安装后 运行正常了 转载请注明来源:http://www.glieser.com
DevExpress 18.2源码编译指南及编译工具源码: 1、 安装DevExpressNETComponents 2、 复制并解压源码到DevExpressNETComponents的安装目录,通常是: C:\Program Files (x86)\DevExpress 18.2\Components\Sources 3、 安装Visual Studio 2010 独立Shell,编译Windows Form和WPF的Design项目要引用到里面的程序集 注意:你不需要安装VisualStudio 2010 SP1完整版,安装这个166M(英文版,中文版为186M)的独立Shell就行了。这个对于18.2以前版本的源码编译也相同有效,一定要安装Visual Studio 2010 SP1是DevExpress官网和网上的一些编译说明的误导罢了。 下载地址: https://aka.ms/VS2010/IsoShell/en-US (英文版) https://aka.ms/VS2010/IsoShell/zh-CN (简体中文版) 4、 安装ASP.NET MVC 3,因为DevExpress.Web.Mvc5这个项目会引用ASP.NET MVC 3的程序集 下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=1491 只需要下载其中的AspNetMVC3ToolsUpdateSetup.exe这个文件并安装 5、 安装TypeScript for Visual Studio,因为有二个项目需要编译TypeScript脚本 打开Visual Studio, 选择菜单上的工具->扩展和更新,搜索TypeScript并安装 我这边是安装了3.1.1版本,你也可选择安装其他版本。源码编译工具会根据你安装的版本自动Patch相关项目的TypeScriptToolVersion的设置值。 6、 将我提供的DevExpress.BuildFramework.exe及相关dll复制到Components目录中(复制到任何目录都行,直接运行也可以,其实对目录没有要求),并使用以管理员身份运行: 在点击Build按钮之前你需要关闭所有打开着的Visual Studio实例,否则会提示某个DevExpress程序集被占用而无法删除的错误。 这个SourceBuilderTool版本我已经作一些改动,使之适合18.2版本的编译。18.2版本的编译最好使用Visual Studio 2015,但是也可以用Visual Studio 2017。 编译大约要半个小时到一个小时左右,编译完成后会生成build_framework_error.log,如果正常的话,所有项目都应该编译成功。 7、 与18.2版本以前的源码编译相比,有以下区别: a) 不再需要再安装SilverLight 5,编译时根本用不到,我已经把这个检查去掉了。 b) 不再需要查找缺少的程序集并用Gacutil 注册到全局程序集中了。像Newtonsoft.Json,dotless,SharpZipLib等这些第三方程序集,SourceBuilderTool 1.05自动会通过Nuget命令行进行下载。另外,我已经把包括packages.config的几个项目,也用Nuget命令行自动下载了。所以你不需要注册任何第三方程序集了。 c) SourceBuilderTool通过检查google.com来测试是否联网的逻辑我已经改为检查nuget.org了,你无需翻\墙了。 8、 其他说明 a) 18.2版本最佳编译环境是Visual Studio 2015(MSBuild 14),但经过改造的源码编译工具支持Visual Studio 2017+(MSBuild 15+)。18.2版本要求C# 6语言版本,对应的.NET Framework 为4.5.2。.NET Framework 4.0仅支持C# 5。 b) 源码工具通过将packages目录改动到Components目录下来解决DevExpress.ExpressApp.Spa项目中引用的Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.2.1.0这个包文件路径长度超过了系统限制的最大路径长度260个字符的问题,关于长路径的说明,请参见:https://docs.microsoft.com/zh-cn/nuget/tools/cli-ref-long-path c) 源码工具会自动检测当前机器是否安装Visual Studi
### 回答1: 在使用 VS Code 进行开发时,有时会遇到中文乱码的情况。这种情况可能是由于一些编码不匹配问题引起的。下面我将介绍几种可能导致中文乱码的情况以及解决方法。 首先,如果在 VS Code 中打开的文件是 UTF-8 编码格式的,但你的系统字符集不是 UTF-8,那么就可能出现中文乱码问题。为了避免这种情况,你可以在 VS Code 中设置当前文件的编码格式为 UTF-8。具体操作是在菜单栏中选择“文件”->“首选项”->“设置”,在找到“文件编码(File Encoding)”选项后选择 UTF-8。 其次,如果你在写代码时使用了一些其他编码格式(如 GBK),那么当你在保存文件时选择了错误的编码格式以及在打开文件时使用了错误的编码格式,就会导致文件中的中文字符被错误地解析,从而出现乱码。要解决这个问题,你可以在保存文件时选择正确的编码格式并在打开文件时选择相同的编码格式,确保编码格式一致。 还有一种可能性是在你安装 VS Code 的时候没有安装相应的语言包,或者语言包的安装出现了问题。在这种情况下,你需要重新安装 VS Code 或者尝试手动安装语言包。 总之,VS Code 中出现中文乱码的情况可能是由多种原因引起的。在你遇到这种问题时,你需要先明确出现这种问题的原因,然后再通过相应的解决方法来解决。通过这些方法,相信你可以顺利地解决 VS Code 中出现的中文乱码问题。 ### 回答2: 在VS Code中出现乱码问题可能由于以下几个原因导致: 1. 文件保存格式问题VS Code默认使用UTF-8编码格式,如果你的文本保存格式不是UTF-8,则可能会导致乱码。你可以尝试将文件另存为UTF-8格式或者在保存文件时选择“以UTF-8编码保存”选项。 2. 字符集设置问题VS Code提供了多种字符集编码的选择,如UTF-8、GBK等。检查你的字符集设置是否与文件编码一致。你可以在VS Code的右下角状态栏处点击字符集设置,选择与文件编码一致的字符集。 3. 字体配置问题:你所使用的字体可能不支持某些字符或者字体渲染配置有问题,导致显示乱码。你可以尝试更换字体,选择一个能够完整显示所需字符的字体,并确保字体渲染设置正确。 4. 扩展导致的问题:某些扩展可能会对字符编码或字体渲染产生影响,导致出现乱码。尝试禁用一些可能影响字符编码或字体渲染的扩展,观察是否乱码问题得到解决。 如果上述方法无法解决乱码问题,建议参考VS Code官方文档或者咨询相关技术支持人员获取更详细的帮助。 ### 回答3: 在VS Code中出现中文乱码的问题可能有几种原因和解决办法。 首先,可能是由于安装的插件或主题不兼容造成的。可以尝试禁用或更新插件和主题,或者选择一个能够正确显示中文字符的主题。 其次,可能是由于编码设置不正确,可以尝试修改文件的编码设置。在底部状态栏的右下角可以看到文件的编码格式,点击后可以选择合适的编码格式,如UTF-8。 另外,可能是由于操作系统的语言设置不正确导致的。可以尝试修改操作系统的语言设置为中文,然后重启VS Code。 此外,还可以尝试在VS Code的设置中修改相关参数来解决中文乱码的问题。打开设置界面,搜索"locale",将"locale"设置为"zh-CN",重启VS Code后查看效果。 还有一种可能是字体设置问题,部分字体可能不支持中文字符或者显示效果不佳。可以尝试在VS Code的设置中修改字体设置为一种能够正确显示中文的字体。 最后,如果上述方法都无效,可以尝试重新安装VS Code或者更新到最新版本。有时候更新修复了一些已知的中文乱码问题。 总之,可以根据具体情况尝试上述方法解决VS Code中文乱码的问题

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值