counsel-rg在win10中搜索中文的问题

用counsel-rg在win10下搜索中文,搞不定了,求助各位大神: 1、emacs 26.3,counsel-rg搜索英文OK,搜索中文显示nothing match; 2、在cmd下用rg搜索中文,也搜不到东西;但增加-E gbk后可以正常搜索中文;搜索结果也正常; 3、用cygwin下的mintty搜索中英文都OK;

感觉应该是windows命令行的编码问题;所以修改了counsel-rg-base-command的命令,增加-E gbk选项;这下可搜到东西了,行号和位置都对,但是所有中文是乱码;

我的感觉是counsel-rg已经可以搜索中文了,但是输出的编码有问题;可是这个在命令行下输出的结果正常,看起来就是gbk,为啥在counsel中显示就不对了呢? 另外我用counsel-rg搜索英文,同一行中的中文显示也正常;感觉counsel本身对中文的处理是没问题的,只是对中文进行了encoding后,输出才变化了;

不知道该如何调整参数了,各位大神帮帮忙啊?

多谢;

也许有用

我以前为了搜索中文,设编码(prefer-coding-system 'gbk) 这样在我这win10用可以counsel-rg搜中文,但其它地方又乱码,最后决定全部统一utf-8,(prefer-coding-system 'utf-8),然后counsel-rg就不能搜中文了

我解决了flycheck在window不能检查中文文件名的问题 flycheck语法检查在win7不支持中文文件名的问题,解决了 ,想用同样方法用到counsel-rg上,但好像行不通

最近在用懒猫的 https://github.com/manateelazycat/color-rg ,感觉不错

@haoisli9 这个问题要解决,自已动手吧

刚刚给 color-rg 提了个 中文搜索的补丁,解决方法就是将 rg 那条命令编码成 gbk

(setq command-line "rg  --column --color=always -H --heading --max-columns 300 --smart-case -e \"有\" \"d:/Home/\"")
(setq comman-line (encode-coding-string command-line 'gbk))

@haoisli9 你可以试试

1赞

这个方法可能不行,修改command-line的编码,会导致要查询的中文同样在默认的编码中出现错误。 rg是可以携带编码参数扩展的,-E gbk可以正确搜索gbk编码的文件,但是对于utf-8的文件就会搜索出错了; rg的帮助中-E 可以携带auto选型来自动识别编码,可是我试了不好使;所以对于目录下统一编码格式的文件,可以携带不同编码,如果编码格式不一样,还没有想到好办法了。

这个方法可行,我测试了