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

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

Jun 13, 2016 pm 12:10 PM
phpwindows中国語文字化け書く利用理由探し出す方法解決する質問初め

まず、文字化けしたコードの原因を調べます。 ずっとブラウザのせいだと思っていましたが、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を再起動すると中国語文字化け問題は解決します。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール