寻求帮助,如题,使用了图片中配置也没能解决问题~
你设置中文字体了吗?我不用windows,也没遇到过这个问题。你上论坛里搜搜windows中文的问题?我记得有不少帖子。
我设置字体的代码:
(dolist (charset '(kana han symbol cjk-misc bopomofo))
(set-fontset-font (frame-parameter nil 'font)
charset (font-spec :family "FZQingKeBenYueSongS-R-GB"
:size 16)))
"FZQingKeBenYueSongS-R-GB"
是我mac上的字体
图中代码应该就是设置的字体啊,gbk是中文字体。
gbk是中文编码,不是中文字体
请教一下,那我图中的配置是否不是设置中文字体,应该如何设置?
我不用shell, 为了防止踩雷我在windows下都是坚持使用eshell.
建议你 M-x prefer-coding-system
设置为gbk看一下. 另外, 设置字体用M-x set-frame-font
1 个赞
。。。eshell突然显示又没问题了,shell也没问题了,但是刚才设置编码的提示好像是没有成功啊,神奇~
我也试试,我的也乱码
我是msys2+emacs, 运行shell会有一两个乱码。
我用的是这样的字体配置,能自动在系统中寻找能用的中文字体, 你看看有没有用:
(defun qiang-font-existsp (font)
(if (null (x-list-fonts font))
nil
t))
(defvar font-list '("Microsoft Yahei" "文泉驿等宽微米黑" "黑体" "新宋体" "宋体"))
(require 'cl) ;; find-if is in common list package
(find-if #'qiang-font-existsp font-list)
(defun qiang-make-font-string (font-name font-size)
(if (and (stringp font-size)
(equal ":" (string (elt font-size 0))))
(format "%s%s" font-name font-size)
(format "%s %s" font-name font-size)))
(defun qiang-set-font (english-fonts
english-font-size
chinese-fonts
&optional chinese-font-size)
"english-font-size could be set to \":pixelsize=18\" or a integer.
If set/leave chinese-font-size to nil, it will follow english-font-size"
(require 'cl) ; for find if
(let ((en-font (qiang-make-font-string
(find-if #'qiang-font-existsp english-fonts)
english-font-size))
(zh-font (font-spec :family (find-if #'qiang-font-existsp chinese-fonts)
:size chinese-font-size)))
;; Set the default English font
;;
;; The following 2 method cannot make the font settig work in new frames.
;; (set-default-font "Consolas:pixelsize=18")
;; (add-to-list 'default-frame-alist '(font . "Consolas:pixelsize=18"))
;; We have to use set-face-attribute
(message "Set English Font to %s" en-font)
(set-face-attribute 'default nil :font en-font)
;; Set Chinese font
;; Do not use 'unicode charset, it will cause the English font setting invalid
(message "Set Chinese Font to %s" zh-font)
(dolist (charset '(kana han symbol cjk-misc bopomofo))
(set-fontset-font (frame-parameter nil 'font)
charset zh-font))))
(qiang-set-font
'("Consolas" "Monaco" "DejaVu Sans Mono" "Monospace" "Courier New") ":pixelsize=18"
'("Microsoft Yahei" "文泉驿等宽微米黑" "黑体" "新宋体" "宋体"))
乱码一般是编码问题,不是字体得问题
(set-language-info
"UTF-8"
'coding-priority
'(utf-8 gb18030 gbk gb2312 iso-2022-cn chinese-big5 chinese-iso-8bit iso-8859-1))
(prefer-coding-system 'cp950)
(prefer-coding-system 'gb2312)
(prefer-coding-system 'cp936)
(prefer-coding-system 'gb18030)
(prefer-coding-system 'utf-16)
(prefer-coding-system 'utf-8-dos)
(prefer-coding-system 'utf-8-unix)
(prefer-coding-system 'utf-8)
(setq file-name-coding-system 'gb18030)
偶尔有乱码
帮助里好像有说:e.g. 在执行 M-x : shell
之前可以先执行 C-x RET c chinese-gbk-dos