最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Windows下利用Gvim寫PHP產(chǎn)生中文亂碼問題解決方法

 更新時(shí)間:2011年04月20日 23:20:39   作者:  
昨天本來說早點(diǎn)睡覺呢,沒想到一個(gè)在寫PHP程序的時(shí)候發(fā)現(xiàn)出現(xiàn)的亂碼問題又睡晚了,不過總算解決了。
首先:找出亂碼產(chǎn)生的原因。 一直以為是瀏覽器的原因,結(jié)果我在chrome,firefox,IE9里面都出現(xiàn)了亂碼,所以瀏覽器的因素可以排除。為了驗(yàn)證我猜測是Gvim的原因,
我用記事本(note)簡單寫了一個(gè)php文件
復(fù)制代碼 代碼如下:

<?php
echo "你好";
echo "世界";
?>

結(jié)果沒有出現(xiàn)亂碼,所以問題就出在Gvim上,這個(gè)結(jié)論水到渠成。
于是,開始研究Gvim的配置文件(_vimrc), 現(xiàn)在給大家看一下我產(chǎn)生亂碼之前的配置(注:我之前修改過):
復(fù)制代碼 代碼如下:

set nocompatible
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 = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
let cmd = '""' . $VIMRUNTIME . '\diff"'
let eq = '"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction
"設(shè)置默認(rèn)背景色
colors desert
"設(shè)置不自動(dòng)備份
set nobackup
"設(shè)置默認(rèn)字體和大小
set guifont=Courier_New:h12:cANSI
set termencoding=gbk
set encoding=utf-8
"產(chǎn)生問題的原因
set fileencoding=chinese
set fileencodings=ucs-bom,utf-8,chinese
set langmenu=zh_CN.utf-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language messages zh_cn.utf-8
language messages zh_cn.utf-8
syntax enable
syntax on

這里需要說明一下:配置文件里enconding,fileeconding,fileecondings的含義:
encoding: GVim 內(nèi)部使用的字符編碼方式,包括 Vim 的 buffer (緩沖區(qū))、菜單文本、消息文本等。
用戶手冊上建議只在 .vimrc 中改變它的值,事實(shí)上似乎也只有在 .vimrc 中改變它的值才有意義。
fileencoding: GVim 中當(dāng)前編輯的文件的字符編碼方式,Vim 保存文件時(shí)也會(huì)將文件保存為這種字符編碼方式 (不管是否新文件都如此)。
fileencodings: GVim 啟動(dòng)時(shí)會(huì)按照它所列出的字符編碼方式逐一探測即將打開的文件的字符編碼方式,并且將 fileencoding 設(shè)置為最終探測到的字符編碼方式。
因此最好將 Unicode 編碼方式放到這個(gè)列表的最前面,將拉丁語系編碼方式 latin1 放到最后面。
其中:chinese 就是 cp963編碼
只到這里我突然想起來,我的瀏覽里默認(rèn)的字符集是 GBK的,而_vimrc里的設(shè)置編碼是utf-8的,二者不對應(yīng),
復(fù)制代碼 代碼如下:

colors desert
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
"處理consle輸出亂碼
language messages zh_CN.utf-8
syntax enable
syntax on

修改完成之后,重新啟動(dòng)Gvim,中文亂碼問題解決了。

相關(guān)文章

  • PHP實(shí)現(xiàn)的折半查詢算法示例

    PHP實(shí)現(xiàn)的折半查詢算法示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)的折半查詢算法,結(jié)合完整實(shí)例形式分析了php使用遞歸與非遞歸實(shí)現(xiàn)折半查詢的算法操作步驟與使用方法,需要的朋友可以參考下
    2017-10-10
  • PHP獲取欄目的所有子級和孫級欄目的ID號(hào)示例

    PHP獲取欄目的所有子級和孫級欄目的ID號(hào)示例

    這篇文章主要介紹了PHP獲取欄目的所有子級和孫級欄目的ID號(hào)的具體實(shí)現(xiàn),需要的朋友可以參考下
    2014-04-04
  • PHP中查詢SQL Server或Sybase時(shí)TEXT字段被截?cái)嗟慕鉀Q方法

    PHP中查詢SQL Server或Sybase時(shí)TEXT字段被截?cái)嗟慕鉀Q方法

    在CSDN的PHP版里老是看到有人問TEXT字段被截?cái)嗟膯栴},偶也回答了無數(shù)次,今天索性就總結(jié)一下吧
    2009-03-03
  • SAE實(shí)時(shí)日志接口SDK用法示例

    SAE實(shí)時(shí)日志接口SDK用法示例

    這篇文章主要介紹了SAE實(shí)時(shí)日志接口SDK用法,結(jié)合實(shí)例形式分析了PHP版本的接口調(diào)用SDK及相應(yīng)的使用方法,需要的朋友可以參考下
    2016-10-10
  • php session 寫入數(shù)據(jù)庫

    php session 寫入數(shù)據(jù)庫

    這篇文章主要介紹了php session 寫入數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • PHP使用CURL實(shí)現(xiàn)多線程抓取網(wǎng)頁

    PHP使用CURL實(shí)現(xiàn)多線程抓取網(wǎng)頁

    PHP 利用 Curl 可以完成各種傳送文件操作,比如模擬瀏覽器發(fā)送GET,POST請求等等,然而因?yàn)閜hp語言本身不支持多線程,所以開發(fā)爬蟲程序效率并不高,不過可以用 Curl ,借助Curl 這個(gè)功能實(shí)現(xiàn)并發(fā)多線程的訪問多個(gè)url地址以實(shí)現(xiàn)并發(fā)多線程抓取網(wǎng)頁或者下載文件
    2015-04-04
  • php通過COM類調(diào)用組件的實(shí)現(xiàn)代碼

    php通過COM類調(diào)用組件的實(shí)現(xiàn)代碼

    COM(Component Object Model)組件對象模型,是一種跨應(yīng)用和語言共享二進(jìn)制代碼的方法。COM可以作為DLL被本機(jī)程序載入也可以通過DCOM被遠(yuǎn)程進(jìn)程調(diào)用
    2012-01-01
  • PHP和JS之間的數(shù)據(jù)交互并處理

    PHP和JS之間的數(shù)據(jù)交互并處理

    最近在開發(fā)Web應(yīng)用程序時(shí),經(jīng)常會(huì)涉及到PHP與JS之間的數(shù)據(jù)傳遞,特別是傳遞復(fù)雜的數(shù)據(jù)結(jié)構(gòu),如數(shù)組。本文主要介紹如何使用PHP傳遞數(shù)組給JS,并在JS中使用這些數(shù)據(jù)
    2023-04-04
  • php生成百度sitemap站點(diǎn)地圖類函數(shù)實(shí)例

    php生成百度sitemap站點(diǎn)地圖類函數(shù)實(shí)例

    這篇文章主要介紹了php生成百度sitemap站點(diǎn)地圖類函數(shù)的方法,詳細(xì)講述了百度站點(diǎn)sitemap的實(shí)現(xiàn)方法與注意事項(xiàng),在web站點(diǎn)的建設(shè)中非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • PDO的安全處理與事物處理方法

    PDO的安全處理與事物處理方法

    本篇文章主要介紹了PDO的安全處理與事物處理方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-10-10

最新評論

利津县| 浪卡子县| 湄潭县| 赤水市| 米易县| 日照市| 静海县| 监利县| 平南县| 枣庄市| 西林县| 筠连县| 秀山| 扬州市| 随州市| 佛坪县| 阜宁县| 桐乡市| 宿迁市| 平顺县| 泽州县| 沿河| 大同市| 连云港市| 湖口县| 手游| 河池市| 长岭县| 萨嘎县| 通城县| 垣曲县| 兴山县| 四子王旗| 咸阳市| 扎赉特旗| 泸西县| 沾化县| 尼玛县| 太康县| 西畴县| 财经|