ホームページ > php教程 > php手册 > Windows で Gvim を使用して PHP を書くときに中国語が文字化けする問題を解決する方法

Windows で Gvim を使用して PHP を書くときに中国語が文字化けする問題を解決する方法

WBOY
リリース: 2016-06-13 12:10:46
オリジナル
909 人が閲覧しました

まず、文字化けしたコードの原因を調べます。 ずっとブラウザのせいだと思っていましたが、Chrome、Firefox、IE9でも文字化けが発生したのでブラウザの要因は否定できます。 Gvim だと推測した理由を検証するために、
メモ帳を使用して php ファイルを作成しました (メモ)

コードをコピー コードは次のとおりです


echo "Hello";
echo "World";

結果は次のようになります。文字化けしていないので問題あり Gvim があるので、この結論は自然に得られます。
そこで、Gvim の設定ファイル (_vimrc) を調べ始めました。次に、文字化けしたコードが生成される前の設定を示します (注: 以前に変更しました)。

コードをコピー コードは次のとおりです:

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 cmd = '""' . 'diff"'
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 であることを突然思い出しました。


コードをコピーします

コードは次のとおりです:


colors dessert
set nobackup
set guifont=Courier_New:h12 :cANSI
"テキストの文字化けを処理しています
set encoding=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を再起動すると中国語文字化け問題は解決します。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート