まず、文字化けしたコードの原因を調べます。 ずっとブラウザのせいだと思っていましたが、Chrome、Firefox、IE9でも文字化けが発生したのでブラウザの要因は否定できます。 Gvim だと推測した理由を検証するために、
メモ帳を使用して php ファイルを作成しました (メモ)
コードをコピー コードは次のとおりです
echo "Hello";
echo "World";
コードをコピー コードは次のとおりです:
set nocompatibility
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
set diffexpr= MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt 。 '-i ' | endif
if &diffopt =~ 'iwhite' | let opt '-b ' | endif
let arg1 =~ ' ' | arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '
let eq = '"'
else
let cmd = replace($VIMRUNTIME) , ', '" ', '') . ' diff"'
endif
else
let cmd = $VIMRUNTIME . 'diff'
endif
cmd をサイレント実行します。 . ' . opt . ' ' . arg2 ' > set guifont=Courier_New:h12:cANSI
set encoding=utf-8
>set fileencoding=chinese
set fileencodings=ucs-bom,utf -8,chinese
set langmenu=zh_CN.utf-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu. vim
言語メッセージ zh_cn.utf-8
言語メッセージ zh_cn.utf-8
syntax Enable
syntax on
ここで説明する必要があります: の意味設定ファイル内のencoding、fileeconding、fileecondings:
encoding: GVimエンコーディングメソッドによって内部的に使用される文字。Vimのバッファ、メニューテキスト、メッセージテキストなどを含みます。
ユーザーマニュアルでは、.vimrc 内の値のみを変更することを推奨しています。実際には、.vimrc 内の値を変更することのみが意味があるようです。
fileencoding: GVim で現在編集されているファイルの文字エンコーディング。Vim がファイルを保存するときも、(新しいファイルかどうかに関係なく) この文字エンコーディングで保存されます。
fileencodings: GVim が起動すると、リストされている文字エンコーディングに従って、開かれるファイルの文字エンコーディングを 1 つずつ検出し、最後に検出された文字エンコーディングに fileencoding を設定します。
したがって、Unicode エンコーディングをこのリストの先頭に置き、ラテン語エンコーディング latin1 を最後に置くのが最善です。
その中で、中国語は cp963 エンコーディングです
この時点で、ブラウザのデフォルトの文字セットが GBK であり、_vimrc で設定されているエンコーディングが utf-8 であることを突然思い出しました。
set fileencodings=chinese set fileencoding=chinese "メニューおよび右クリック メニューの文字化けを処理していますsource $VIMRUNTIME/delmenu .vim source $VIMRUNTIME/menu.vim
"コンソール出力の文字化けを処理しています言語メッセージ zh_CN.utf-8
syntax Enable
syntax on
修正 完了後、Gvimを再起動すると中国語文字化け問題は解決します。