為什麼微軟筆記本玩不了游戲
❶ 微軟電腦 為什麼游戲打不開 該怎麼辦
建議首先升級殺毒軟體,查殺電腦病毒,並清理注冊表和垃圾。
1、游戲軟體不兼容
游戲與系統不兼容,經常會出現此問題,可以右擊軟體選擇兼容性,選擇兼容這款軟體的系統即可。
4、電腦配置不足
少數游戲只要你沒達到規定配置,就無法進游戲,如果是由於電腦配置導致游戲無法打開的話,最好還是去升級一下電腦的硬體配置。
❷ 為什麼我的電腦不能玩游戲了
這個分非法軟體和木馬病毒,會將系統目錄下的"msvcirt.dll"文件破壞或刪除,導致你在游戲中出現"TENVF 0"的錯誤提示,從而影響你正常游戲。 給你提供個臨時解決辦法,解決此問題。
方法一:下載「恢復.cmd」的處理文件,下載至桌面後將名字改為「恢復.cmd」,然後雙擊運行,運行界面會在1秒鍾後消失,運行後正常啟動游戲即可。
方法二:需要根據自己的系統下載對應的「msvcirt.dll」文件進行替換,如xp-sp3的用戶下載「msvcirt.dll_xpsp3」,vista的用戶下載「msvcirt.dll-vista」文件,下載後把文件名字改為「msvcirt.dll」,然後將該文件移動至系統目錄「C:\WINDOWS\system32」下,放好以後運行游戲即可。
方法三:第二種方法,部分用戶使用時會提示該目錄下已經有msvcirt的文件夾,如果出現該提示,請到系統目錄「C:\WINDOWS\system32」下找到一個以「msvcirt」命名的文件夾,將其刪除,然後正常登游戲即可。
解決方法文件:
呵呵這是我網上找到的
❸ 我的電腦不能玩游戲
內存不能為「read」或「written」的解決方案
有些人運行飈車程序的時候會彈出該內存不能為「read」的錯誤提示。希望以下文章能對大家有所幫助。
使用Windows操作系統的人有時會遇到這樣的錯誤信息,運行某些程序的時候,有時會出現內存錯誤的提示,然後該程序會自動關閉或點擊後關閉,嚴重的會無法關閉。
「0x????????」指令引用的「0x????????」內存。該內存不能為「read」。
「0x????????」指令引用的「0x????????」內存,該內存不能為「written」。
不知你出現過類似這樣的故障嗎?(0x後面內容有可能不一樣。)
散一般出現這個現象有方面的,一是硬體,即內存方面有問題,二是軟體,這就有多方面的問題了。
1、微軟IE緩沖溢出漏洞引起
2、內存或虛擬內存地址使用沖突造成程序的運行需要分配一定的內存地址給程序使用,當程序結束時釋放留出空間讓給新的程序使用,win是多任務的系統有時前程序未結束 又有新的任務開始到底要多少內存或虛擬內存來保證我們同時運行的工作任務呢?也許win在這個問題上沒弄好,所以有此錯誤常常發生,一般運行大型軟體或多媒體後出現這種情況
3、劣質內存條也會出現這個問題一般來說,內存出現問題的可能性並不大,主要方面是:內存條壞了、內存質量有問題,還有就是2個不同牌子不同容量的內存混插,也比較容易出現不兼容的情況,同時還要注意散熱問題,特別是超頻後。你可以使用MemTest這個軟體來檢測一下內存,它可以徹底的檢測出內存的穩定度。假如你是雙內存,而且是不同品牌的內存條混插或者買了二手內存時,出現這個問題,這時,你就要檢查是不是內存出問題了或者和其它硬體不兼容。
4、微軟WINDOWS系統的漏洞,windows把內存地址0X00000000到0X0000ffff指定為分配null指針的地址范圍,如果程序試圖訪問這一地址,則認為是錯誤。c/c++編寫的程序通常不進行嚴格的錯誤檢查,當採用malloc來分配內存而可供分配的地址空間不夠的情況下返回null指針。但是代碼不檢查這種錯誤,認為地址分配已經成功,於是就訪問0X00000000的地址,於是就發生內存違規訪問,同時該進程被終止。ASCII字元填充組成的pif文件時會出現以下情況:一個非法的pif文件(用ascii字元\''x\''填充)至少要369位元組,系統才認為是一個合法的pif文件,才會以pif的圖標[pifmgr.dll,0]顯示,才會在屬性里有程序、字體、內存、屏幕」等內容。而且僅僅當一個非pif文件的大小是369位元組時察看屬性的「程序」頁時,不會發生程序錯誤,哪怕是370位元組也不行。當對一個大於369位元組的非法pif文件察看屬性的「程序」頁時,Explorer會出錯,提示:\''***\''指令引用的\''***\''內存。該內存不能為\''read\'' ,問題出在pif文件的16進制地址:0x00000181[0x87]0x00000182[0x01]和 0x00000231[0xC3]0x00000232[0x02]即使是一個合法pif文件,只要改動這四處的任意一處,也會引起程序錯誤。而只要把0x00000181和0x00000182的值改為[0xFF][0xFF],那麼其它地址任意更改都不會引起錯誤。
5、可能沒有完全正確安裝apache服務,且啟動了它的原故; 把服務中OracleOraHomeXXHTTPServer改成停 止
6、應用程序沒有檢查內存分配失敗程序需要一塊內存用以保存數據時,就需要調用操作系統提供的「功能函數」來申請,如果內存分配成功,函數就會將所新開辟的內存區地址返回給應用程序,應用程序就可以通過這個地址使用這塊內存。這就是「動態內存分配」,內存地址也就是編程中的「指針」。內存不是永遠都招之即來、用之不盡的,有時候內存分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的指針,而是系統向應用程序發出的一個通知,告知出現了錯誤。作為應用程序,在每一次申請內存後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程序的「健壯性」。若應用程序沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用指針,繼續在之後的運行中使用這塊內存。真正的0地址內存區保存的是計算機系統中最重要的「中斷描述符表」,絕對不允許應用程序使用。在沒有保護機制的操作系統下(如DOS),寫數據到這個地址會導致立即死機,而在健壯的操作系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程序,以防止其錯誤擴大。這時候,就會出現上述的「寫內存」錯誤,並指出被引用的內存地址為「0x00000000」。內存分配失敗故障的原因很多,內存不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於操作系統使用很長時間後,安裝了多種應用程序(包括無意中「安裝」的病毒程序),更改了大量的系統參數和系統文件之後。
7、應用程序由於自身BUG引用了不正常的內存指針在使用動態分配的應用程序中,有時會有這樣的情況出現:程序試圖讀寫一塊「應該可用」的內存,但不知為什麼,這個預料中可用的指針已經失效了。有可能是「忘記了」向操作系統要求分配,也可能是程序自己在某個時候已經注銷了這塊內存而「沒有留意」等等。注銷了的內存被系統回收,其訪問權已經不屬於該應用程序,因此讀寫操作也同樣會觸發系統的保護機制,企圖「違法」的程序唯一的下場就是被操作終止運行,回收全部資源。計算機世界的法律還是要比人類有效和嚴厲得多啊!像這樣的情況都屬於程序自身的BUG,你往往可在特定的操作順序下重現錯誤。無效指針不一定總是0,因此錯誤提示中的內存地址也不一定為「0x00000000」,而是其他隨機數字。
如果系統經常有所提到的錯誤提示,下面的建議可能會有幫助:
1.查看系統中是否有木馬或病毒。這類程序為了控制系統往往不負責任地修改系統,從而導致操作系統異常。平常應加強信息安全意識,對來源不明的可執行程序絕不好奇。
2.更新操作系統,讓操作系統的安裝程序重新拷貝正確版本的系統文件、修正系統參數。有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序。
3.試用新版本的應用程序。
4、刪除然後重新創建 WINDOWS\Wbem\Repository 文件夾中的文件:在桌面上右擊我的電腦,然後單擊管理。在"服務和應用程序"下,單擊服務,然後關閉並停止 Windows Management Instrumentation 服務。刪除 WINDOWS\System32\Wbem\Repository 文件夾中的所有文件。(在刪除前請創建這些文件的備份副本。) 打開"服務和應用程序",單擊服務,然後打開並啟動 Windows Management Instrumentation 服務。當服務重新啟動時,將基於以下注冊表項中所提供的信息重新創建這些文件:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs
下面我從幾個例子給大家分析:
例一:打開IE瀏覽器或者沒過幾分鍾就會出現"0x70dcf39f"指令引用的"0x00000000"內存。該內存不能為「read」。要終止程序,請單擊「確定」的信息框,單擊「確定」後,又出現「發生內部錯誤,您正在使用的其中一個窗口即將關閉」的信息框,關閉該提示信息後,IE瀏覽器也被關閉。
解決方法:修復或升級IE瀏覽器,同時打上補丁。看過其中一個修復方法是,Win2000自升級,也就是Win2000升級到Win2000,其實這種方法也就是把系統還原到系統初始的狀態下。比如你的IE升級到了6.0,自升級後,會被IE5.0代替。
例二:在windowsxp下雙擊光碟裡面的「AutoRun.exe」文件,顯示「0x77f745cc」指令引用的0x00000078」內存。該內存不能為「written」,要終止程序,請單擊「確定」,而在Windows 98里運行卻正常。
解決方法:這可能是系統的兼容性問題,winXP的系統,右鍵「AutoRun.exe」文件,屬性,兼容性,把「用兼容模式運行這個程序」項選擇上,並選擇「Windows 98/Me」。win2000如果打了SP的補丁後,只要開始,運行,輸入:regsvr32 c:\winnt\apppatch\slayerui.dll。右鍵,屬性,也會出現兼容性的選項。
例三:RealOne Gold關閉時出現錯誤,以前一直使用正常,最近卻在每次關閉時出現「0xffffffff」指令引用的「0xffffffff」內存。該內存不能為「read」 的提示。
解決方法:當使用的輸入法為微軟拼音輸入法2003,並且隱藏語言欄時(不隱藏時沒問題)關閉RealOne就會出現這個問題,因此在關閉RealOne之前可以顯示語言欄或者將任意其他輸入法作為當前輸入法來解決這個問題。
例四:我的豪傑超級解霸自從上網後就不能播放了,每次都提示「0x060692f6」(每次變化)指令引用的「0xff000011」內存不能為「read」,終止程序請按確定。
解決方法:試試重裝豪傑超級解霸,如果重裝後還會,到官方網站下載相應版本的補丁試試。還不行,只好換就用別的播放器試試了。
例五:雙擊一個游戲的快捷方式,「0x77f5cd0」指令引用「0xffffffff」內存,該內存不能為「read」 ,並且提示Client.dat程序錯誤。
解決方法:重裝顯卡的最新驅動程序,然後下載並且安裝DirectX9.0。
例六:一個朋友發信息過來,我的電腦便出現了錯誤信息:「0x772b548f」指令引用的「0x00303033」內存,該內存不能為「written」,然後QQ自動下線,而再打開QQ,發現了他發過來的十幾條的信息。
解決方法:這是對方利用QQ的BUG,發送特殊的代碼,做QQ出錯,只要打上補丁或升級到最新版本,就沒事了。
例七:我的筆記本電腦用的XP系統,有時關閉網頁時會彈出tbrowser.exe遇到問題需要關閉,然後有彈出0x03e7c738指令引用的0x03e7c738內存,該內存不能為read,請問是怎麼回事?
解決方法:先查殺一下病毒,另外如果你安裝了瀏覽增強之類的軟體,請卸掉。
例八:從桌面或開始菜單中打開任何一個程序, 出現錯誤提示:"0x........"指令引用的"0x00000000"內存,該內存不能為"read"。省略號代表可變值。而從運行中打開程序沒問題。
解決方法:運行regedit進入注冊表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks下,應該只有一個正常的鍵值"{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 將其他的刪除(默認鍵值當然不要刪除)。
例九:我三個月前配了台機子。系統比較不穩定,三個月內已經重裝過多次系統,四五天前剛裝過系統,可是經常隨機地出現Explorer-應用程序錯誤,「0x4a01259d「指令引用的「0x00000000"內存。該內存不能為「read"。要終止程序,請單擊「確定「。要調試程序,請單擊「取消」。如果點確定,windows桌面就不見了。這種問題在之前的系統也出現過,不知道是不是硬體的問題?
解決方法:內存的兼容性問題!遇到這類問題,用戶可以自行打開機器把內存的位置調動一下,看問題是否可以解決,如果問題依舊,可與你的朋友調換內存使用。
通過上面的幾個例子,可以看到,出現故障的原因有好多種,下面列出已經提到和有可能發生的原因,方便查閱。
問題產生原因原因--解決方法
內存條壞了--更換內存條
雙內存不兼容--使用同品牌的內存或只用一條內存
內存質量問題--更換內存條
散熱問題--加強機箱內部的散熱
內存和主板沒插好或和其它硬體不兼容等--重插內存或換個插糟
硬碟有問題--更換硬碟
驅動問題--重裝驅動。如果是新系統,要先安裝主板驅動
軟體損壞--重裝軟體
軟體有BUG--打補丁或用最新的版本。
軟體和系統不兼容--給軟體打上補丁或者試試系統的兼容模式
軟體和軟體之間有沖突--如果最近安裝了什麼新軟體,卸載了試試
軟體要使用到其它相關的軟體有問題--重裝相關軟體。比如播放某一格式的文件時出錯,可能是這個文件的解碼器有問題
病毒問題--殺毒
殺毒軟體與系統或軟體沖突--由於殺毒軟體是進入底層監控系統的,可能與一些軟體沖突,卸載了試試
系統本身有問題--有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序,像SP的補丁,最好要打上。如果還不行重裝系統或更換其它版本的系統了。
〔又一說〕
在控制面板的添加/刪除程序中看看你是否安裝了微軟NET.Framework,如果已經安裝了,可以考慮卸載它,當然如果你以後在其它程序需要NET.Framework時候,可以再重新安裝。
另外,如果你用的是ATI顯卡並且你用的是SP2的補丁(一些ATI的顯卡驅動需要在NET.Framework正常工作的環境下)。這種情況你可以找一款不需要NET.Framework支持的ATI顯卡驅動。
如果以上兩種方法並不能完全解決問題,你試著用一下「IE修復」軟體,並可以查查是否有病毒之類的。
〔微軟NET.Framework升級到1.1版應該沒問題了〕
〔還有一說〕
方法一:
微軟新聞組的朋友指點:開始--運行:regsvr32 jscript.dll
開始--運行:regsvr32 vbscript.dll
不過沒解決---但提供了路子-----一次運行注冊所有dll
搜索查找到方法如下:
運行 輸入cmd 回車在命令提示符下輸入
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
這個命令老兄你慢慢輸 輸入正確的話會看到飛快地滾屏 否則……否則失敗就是沒這效果。回車後慢慢等(需要點時間1-2分鍾) 都運行完再打開看
方法二:
這是個典型問題~~~~~引起這個問題的原因很多。一般來講就是給系統打上補丁和更換內存、給內存換個插槽這3種方法來解決。[系統補丁只要到Microsoft Update網站在線更新就可以了
參考資料:http://..com/question/19226920.html?si=1
❹ 為什麼游戲打不開了
游戲無法打開或打開後報錯,通常是由於游戲運行環境出現異常或者游戲文件缺失、損壞引起,解決方案:
1、修復游戲環境:打開安全衛士-軟體管家,在上方搜索欄內分別輸入「微軟常用運行庫合集」以及「DirectX修復工具」後回車,下載安裝相關環境組件即可,安裝修復後建議先重啟電腦。
2、如果游戲環境已修復,但仍然打不開游戲,基本為游戲文件損壞或需要打補丁才能正常運行(網游)。如果是單機游戲可重新安裝,或在網上查找下載其他版本的安裝包解決;若是網路游戲,則建議在對應的官方網站搜索補丁包或使用相關游戲平台進入游戲(例如英雄聯盟LOL,在WIN10系統中需要使用騰訊游戲平台才能正常運行)。
❺ 新買的電腦不能玩游戲
引用:
給不給分沒關系 給你個參考 希望用得上
0X000000該內存不能為read written的解決方法
出現這個現象有方面的,一是硬體,即內存方面有問題,二是軟體,這就有多方面的問題了。
一:先說說硬體:
一般來說,電腦硬體是很不容易壞的。內存出現問題的可能性並不大(除非你的內存真的是雜牌的一塌徒地),主要方面是:1。內存條壞了(二手內存情況居多)、2。使用了有質量問題的內存,3。內存插在主板上的金手指部分灰塵太多。4。使用不同品牌不同容量的內存,從而出現不兼容的情況。5。超頻帶來的散熱問題。你可以使用MemTest 這個軟體來檢測一下內存,它可以徹底的檢測出內存的穩定度。
二、如果都沒有,那就從軟體方面排除故障了。
先說原理:內存有個存放數據的地方叫緩沖區,當程序把數據放在緩沖區,需要操作系統提供的「功能函數」來申請,如果內存分配成功,函數就會將所新開辟的內存區地址返回給應用程序,應用程序就可以通過這個地址使用這塊內存。這就是「動態內存分配」,內存地址也就是編程中的「游標」。內存不是永遠都招之即來、用之不盡的,有時候內存分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的游標,而是系統向應用程序發出的一個通知,告知出現了錯誤。作為應用程序,在每一次申請內存後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程序的「健壯性」。若應用程序沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用游標,繼續在之後的執行中使用這塊內存。真正的0地址內存區儲存的是計算機系統中最重要的「中斷描述符表」,絕對不允許應用程序使用。在沒有保護機制的操作系統下(如DOS),寫數據到這個地址會導致立即當機,而在健壯的操作系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程序,以防止其錯誤擴大。這時候,就會出現上述的內存不能為「read」錯誤,並指出被引用的內存地址為「0x00000000「。內存分配失敗故障的原因很多,內存不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於操作系統使用很長時間後,安裝了多種應用程序(包括無意中「安裝」的病毒程序),更改了大量的系統參數和系統檔案之後。
在使用動態分配的應用程序中,有時會有這樣的情況出現:程序試圖讀寫一塊「應該可用」的內存,但不知為什麼,這個預料中可用的游標已經失效了。有可能是「忘記了」向操作系統要求分配,也可能是程序自己在某個時候已經注銷了這塊內存而「沒有留意」等等。注銷了的內存被系統回收,其訪問權已經不屬於該應用程序,因此讀寫操作也同樣會觸發系統的保護機制,企圖「違法」的程序唯一的下場就是被操作終止執行,回收全部資源。計算機世界的法律還是要比人類有效和嚴厲得多啊!像這樣的情況都屬於程序自身的BUG,你往往可在特定的操作順序下重現錯誤。無效游標不一定總是0,因此錯誤提示中的內存地址也不一定為 「0x00000000」,而是其它隨機數字。
首先建議:
1、 檢查系統中是否有木馬或病毒。這類程序為了控制系統往往不負責任地修改系統,從而導致操作系統異常。平常應加強信息安全意識,對來源不明的可執行程序絕不好奇。
2、 更新操作系統,讓操作系統的安裝程序重新拷貝正確版本的系統檔案、修正系統參數。有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序。
3、 盡量使用最新正式版本的應用程序、Beta版、試用版都會有BUG。
4、 刪除然後重新創建 Winnt\System32\Wbem\Repository 文件夾中的文件:在桌面上右擊我的電腦,然後單擊管理。 在"服務和應用程序"下,單擊服務,然後關閉並停止 Windows Management Instrumentation 服務。 刪除 Winnt\System32\Wbem\Repository 文件夾中的所有文件。(在刪除前請創建這些文件的備份副本。) 打開"服務和應用程序",單擊服務,然後打開並啟動 Windows Management Instrumentation 服務。當服務重新啟動時,將基於以下注冊表項中所提供的信息重新創建這些文件: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs
下面搜集幾個例子給大家分析:
例一:IE瀏覽器出現「0x0a8ba9ef」指令引用的「0x03713644」 內存,或者「0x70dcf39f」指令引用的「0x00000000」內存。該內存不能為「read」。要終止程序,請單擊「確定」的信息框,單擊「確定」後,又出現「發生內部錯誤,您正在使用的其中一個窗口即將關閉」的信息框,關閉該提示信息後,IE瀏覽器也被關閉。解決方法:
1、 開始-運行窗口,輸入「regsvr32 actxprxy.dll」回車,接著會出現一個信息對話框「DllRegisterServer in actxprxy.dll succeeded」,確定。再依次運行以下命令。(這個方法有人說沒必要,但重新注冊一下那些.dll對系統也沒有壞處,反正多方下手,能解決問題就行。)
regsvr32 shdocvw.dll
regsvr32 oleaut32.dll
regsvr32 actxprxy.dll
regsvr32 mshtml.dll
regsvr32 msjava.dll
regsvr32 browseui.dll
regsvr32 urlmon.dll
2、 修復或升級IE瀏覽器,同時打上系統補丁。看過其中一個修復方法是,把系統還原到系統初始的狀態下。建議將IE升級到了6.0。
例二:有些應用程序錯誤: 「0x7cd64998」 指令參考的 「0x14c96730」 內存。該內存不能為 「read」。解決方法:Win XP的「預讀取」技術這種最佳化技術也被用到了應用程序上,系統對每一個應用程序的前幾次啟動情況進行分析,然後新增一個描述套用需求的虛擬「內存映像」,並把這些信息儲存到Windows\Prefetch文件夾。一旦建立了映像,應用軟體的裝入速度大大提高。XP的預讀取數據儲存了最近8次系統啟動或應用軟體啟動的信息。建議將虛擬內存撤換,刪除Windows\Prefetch目錄下所有*.PF文件,讓windows重新收集程序的物理地址。
例三:在XP下雙擊光碟裡面的「AutoRun.exe」文件,顯示「0x77f745cc」指令引用的「0x00000078」內存。該內存不能為「written」,要終止程序,請單擊「確定」,而在Windows 98里運行卻正常。解決方法:這可能是系統的兼容性問題,winXP的系統,右鍵「AutoRun.exe」文件,屬性,兼容性,把「用兼容模式運行這個程序」項選擇上,並選擇「Windows 98/Me」。win2000如果打了SP的補丁後,只要開始,運行,輸入:regsvr32 c:\winnt\apppatch\slayerui.dll。右鍵,屬性,也會出現兼容性的選項。
例四:RealOne Gold關閉時出現錯誤,以前一直使用正常,最近卻在每次關閉時出現「0xffffffff」指令引用的「0xffffffff」內存。該內存不能為 「read」 的提示。解決方法:當使用的輸入法為微軟拼音輸入法2003,並且隱藏語言欄時(不隱藏時沒問題)關閉RealOne就會出現這個問題,因此在關閉 RealOne 之前可以顯示語言欄或者將任意其他輸入法作為當前輸入法來解決這個問題。
例五:我的豪傑超級解霸自從上網後就不能播放了,每次都提示「0x060692f6」(每次變化)指令引用的「0xff000011」內存不能為 「read」,終止程序請按確定。解決方法:試試重裝豪傑超級解霸,如果重裝後還會,到官方網站下載相應版本的補丁試試。還不行,只好換就用別的播放器試試了。
例六:雙擊一個游戲的快捷方式,「0x77f5cd0」指令引用「0xffffffff」內 存,該內存不能為「read」 ,並且提示Client.dat程序錯誤。解決方法:重裝顯卡的最新驅動程序,然後下載並且安裝DirectX9.0。
例七:一個朋友發信息過來,我的電腦便出現了錯誤信息:「0x772b548f」指令引用的「0x00303033」內存,該內存不能為 「written」,然後QQ自動下線,而再打開QQ,發現了他發過來的十幾條的信息。解決方法:這是對方利用QQ的BUG,發送特殊的代碼,做QQ出錯,只要打上補丁或升級到最新版本,就沒事了。
該內存不能為read或written的解決方案關鍵詞: 該內存不能為"read" 該內存不能為"written"
從網上搜索來的幾篇相關文章.
【文章一】
使用Windows操作系統的人有時會遇到這樣的錯誤信息:
「「0X????????」指令引用的「0x00000000」內存,該內存不能為「read」或「written」」,然後應用程序被關閉。
如果去請教一些「高手」,得到的回答往往是「Windows就是這樣不穩定」之類的義憤和不屑。其實,這個錯誤並不一定是Windows不穩定造成的。本文就來簡單分析這種錯誤的一般原因。
一、應用程序沒有檢查內存分配失敗
程序需要一塊內存用以儲存數據時,就需要使用操作系統提供的「功能函數」來申請,如果內存分配成功,函數就會將所新開辟的內存區地址返回給應用程序,應用程序就可以通過這個地址使用這塊內存。這就是「動態內存分配」,內存地址也就是編程中的「游標」。內存不是永遠都招之即來、用之不盡的,有時候內存分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的游標,而是系統向應用程序發出的一個通知,告知出現了錯誤。作為應用程序,在每一次申請內存後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程序的「健壯性」。若應用程序沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用游標,繼續在之後的執行中使用這塊內存。真正的0地址內存區儲存的是計算機系統中最重要的「中斷描述符表」,絕對不允許應用程序使用。在沒有保護機制的操作系統下(如DOS),寫數據到這個地址會導致立即當機,而在健壯的操作系統中,如 Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程序,以防止其錯誤擴大。這時候,就會出現上述的「寫內存」錯誤,並指出被引用的內存地址為「0x00000000」。內存分配失敗故障的原因很多,內存不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於操作系統使用很長時間後,安裝了多種應用程序(包括無意中「安裝」的病毒程序),更改了大量的系統參數和系統檔案之後。
二、應用程序由於自身BUG引用了不正常的內存游標
在使用動態分配的應用程序中,有時會有這樣的情況出現:程序試突讀寫一塊「應該可用」的內存,但不知為什麼,這個預料中可用的游標已經失效了。有可能是「忘記了」向操作系統要求分配,也可能是程序自己在某個時候已經注銷了這塊內存而「沒有留意」等等。注銷了的內存被系統回收,其訪問權已經不屬於該應用程序,因此讀寫操作也同樣會觸發系統的保護機制,企圖「違法」的程序唯一的下場就是被操作終止執行,回收全部資源。計算機世界的法律還是要比人類有效和嚴厲得多啊!像這樣的情況都屬於程序自身的BUG,你往往可在特定的操作順序下重現錯誤。無效游標不一定總是0,因此錯誤提示中的內存地址也不一定為「0x00000000」,而是其它隨機數字。如果系統經常有所提到的錯誤提示,下面的建議可能會有說明 :
1.檢視系統中是否有木馬或病毒。這類程序為了控制系統往往不負責任地修改系統,
從而導致操作系統異常。平常應加強信息安全意識,對來源不明的可執行程序絕不好奇。
2.更新操作系統,讓操作系統的安裝程序重新拷貝正確版本的系統檔案、修正系統參數。
有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序。
3.試用新版本的應用程序。
Mode:
將虛擬內存撤換
答案:
目前為止是肯定的,也就是如在下次冷天到來時亦沒再發生,就代表這是主因
追加:
如果你用 Ghost 恢復 OS 後建議 刪除WINDOWS\PREFETCH目錄下所有*.PF文件因為需讓windows重新收集程序的物理地址
有些應用程序錯誤 "0x7cd64998" 指令參考的 "0x14c96730" 內存。該內存不能為 "read"推論是此原因
源由:
Win XP的「預讀取」技術
這種最佳化技術也被用到了應用軟體上,系統對每一個應用軟體的前幾次啟動情況進行分析,然後新增一個描述套用需求的虛擬「內存映像」,並把這些信息儲存到WINDOWSPREFETCH數據夾。一旦建立了映像,應用軟體的裝入速度大大提高。XP的預讀取數據儲存了最近8次系統啟動或應用軟體啟動的信息。
後敘:
目前此方法亦是獨步網路的(其碼自己針對此問題查了許久),也是常見問題,原本幾乎每天睡前關閉軟體時一些程序都會發生...read...
現在就沒發生了。
【文章二】
運行某些程序的時候,有時會出現內存錯誤的提示(0x後面內容有可能不一樣),然後該程序就關閉。
「0x????????」指令引用的「0x????????」內存。該內存不能為「read」。
「0x????????」指令引用的「0x????????」內存,該內存不能為「written」。
不知你出現過類似這樣的故障嗎?
一般出現這個現象有方面的,一是硬體,即內存方面有問題,二是軟體,這就有多方面的問題了。
下面先說說硬體:
一般來說,內存出現問題的可能性並不大,主要方面是:內存條壞了、內存質量有問題,還有就是2個不同牌子不同容量的內存混插,也比較容易出現不兼容的情況,同時還要注意散熱問題,特別是超頻後。你可以使用MemTest 這個軟體來檢測一下內存,它可以徹底的檢測出內存的穩定度。
假如你是雙內存,而且是不同品牌的內存條混插或者買了二手內存時,出現這個問題,這時,你就要檢查是不是內存出問題了或者和其它硬體不兼容。
如果都沒有,那就從軟體方面排除故障了。
先簡單說說原理:內存有個存放數據的地方叫緩沖區,當程序把數據放在其一位置時,因為沒有足夠空間,就會發生溢出現象。舉個例子:一個桶子只能將一斤的水,當你放入兩斤的水進入時,就會溢出來。而系統則是在屏幕上表現出來。這個問題,經常出現在windows2000和XP系統上,Windows 2000/XP對硬體的要求是很苛刻的,一旦遇到資源死鎖、溢出或者類似Windows 98里的非法操作,系統為保持穩定,就會出現上述情況。另外也可能是硬體設備之間的兼容性不好造成的。
下面我從幾個例子給大家分析:
例一:打開IE瀏覽器或者沒過幾分鍾就會出現"0x70dcf39f"指令引用的"0x00000000"內存。該內存不能為「read」。要終止程序,請單擊「確定」的信息框,單擊「確定」後,又出現「發生內部錯誤,您正在使用的其中一個窗口即將關閉」的信息框,關閉該提示信息後,IE瀏覽器也被關閉。解決方法:修復或升級IE瀏覽器,同時打上補丁。看過其中一個修復方法是,Win2000自升級,也就是Win2000升級到Win2000,其實這種方法也就是把系統還原到系統初始的狀態下。比如你的IE升級到了6.0,自升級後,會被IE5.0代替。
例二:在windows xp下雙擊光碟裡面的「AutoRun.exe」文件,顯示「0x77f745cc」指令引用的「0x00000078」內存。該內存不能為 「written」,要終止程序,請單擊「確定」,而在Windows 98里運行卻正常。解決方法:這可能是系統的兼容性問題,winXP的系統,右鍵「AutoRun.exe」文件,屬性,兼容性,把「用兼容模式運行這個程序」項選擇上,並選擇「Windows 98/Me」。win2000如果打了SP的補丁後,只要開始,運行,輸入:regsvr32 c:\winnt\apppatch\slayerui.dll。右鍵,屬性,也會出現兼容性的選項。
例三:RealOne Gold關閉時出現錯誤,以前一直使用正常,最近卻在每次關閉時出現「0xffffffff」指令引用的「0xffffffff」內存。該內存不能為 「read」 的提示。解決方法:當使用的輸入法為微軟拼音輸入法2003,並且隱藏語言欄時(不隱藏時沒問題)關閉RealOne就會出現這個問題,因此在關閉 RealOne 之前可以顯示語言欄或者將任意其他輸入法作為當前輸入法來解決這個問題。
例四:我的豪傑超級解霸自從上網後就不能播放了,每次都提示「0x060692f6」(每次變化)指令引用的「0xff000011」內存不能為「read」,終止程序請按確定。解決方法:試試重裝豪傑超級解霸,如果重裝後還會,到官方網站下載相應版本的補丁試試。還不行,只好換就用別的播放器試試了。
例五:雙擊一個游戲的快捷方式,「0x77f5cd0」指令引用「0xffffffff」內 存,該內存不能為「read」 ,並且提示Client.dat程序錯誤。 解決方法:重裝顯卡的最新驅動程序,然後下載並且安裝DirectX9.0。
例六:一個朋友發信息過來,我的電腦便出現了錯誤信息:「0x772b548f」指令引用的「0x00303033」內存,該內存不能為 「written」,然後QQ自動下線,而再打開QQ,發現了他發過來的十幾條的信息。解決方法:這是對方利用QQ的BUG,發送特殊的代碼,做QQ出錯,只要打上補丁或升級到最新版本,就沒事了。
【原因 解決方法】
1 內存條壞了 更換內存條
2 雙內存不兼容 使用同品牌的內存或只要一條內存
3 內存質量問題 更換內存條
4 散熱問題 加強機箱內部的散熱
5 內存和主板沒插好或其他硬體不兼容 重插內存或換個插槽
6 硬體有問題 更換硬碟
7 驅動問題 重裝驅動,如果是新系統,應先安裝主板驅動
8 軟體損壞 重裝軟體
9 軟體有BUG 打補丁或更新到最新版本
10 軟體和系統不兼容 給軟體打上補丁或是試試系統的兼容模式
11 軟體和軟體之間有沖突 如果最近安裝了什麼新軟體,卸載了試試
12 軟體要使用其他相關的軟體有問題 重裝相關軟體,比如播放某一格式的文件時出錯,可能是這個文件的解碼器有問題
13 病毒問題 殺毒
14 殺毒軟體與系統或軟體相沖突 由於殺毒軟體是進入底層監控系統的,可能與一些軟體相沖突,卸載試試
15 系統本身有問題 有時候操作系統本身也會有BUG,要注意安裝官方發行的更新程序,象SP的補丁,最好打上.如果還不行,重裝系統,或更換其他版本的系統。
〔又一說〕
在控制面板的添加/刪除程序中看看你是否安裝了微軟NET.Framework,如果已經安裝了,可以考慮卸載它,當然如果你以後在其它程序需要NET.Framework時候,可以再重新安裝。
另外,如果你用的是ATI顯卡並且你用的是SP2的補丁(一些ATI的顯卡驅動需要在NET.Framework正常工作的環境下)。這種情況你可以找一款不需要NET.Framework支持的ATI顯卡驅動。
如果以上兩種方法並不能完全解決問題,你試著用一下「IE修復」軟體,並可以查查是否有病毒之類的。
〔微軟NET.Framework升級到1.1版應該沒問題了〕
〔還有一說〕
方法一:
微軟新聞組的朋友指點:開始--運行:regsvr32 jscript.dll
開始--運行:regsvr32 vbscript.dll
不過沒解決---但提供了路子-----一次運行注冊所有dll
搜索查找到方法如下:
運行 輸入cmd 回車在命令提示符下輸入
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
這個命令老兄你慢慢輸 輸入正確的話會看到飛快地滾屏 否則……否則失敗就是沒這效果。回車後慢慢等(需要點時間1-2分鍾) 都運行完再打開看
方法二:
這是個典型問題~~~~~引起這個問題的原因很多。一般來講就是給系統打上補丁和更換內存、給內存換個插槽這3種方法來解決。[系統補丁只要到Microsoft Update網站在線更新就可以了]
造成這種問題的原因很多,不能單純的下結論,盡量做到以下幾點可能對你有幫助:
1。確保使用的是未修改過的軟體(非漢化、破解版)
2。使用改軟體時盡量不要運行其他軟體。(這是個臨時文件,可能某些軟體也在使用臨時文件夾,所以產生干擾)
3。把那些什麼桌面工具,內存整理工具通通關掉(你至少有2個類似的工具在運行)」
處理方法:
運行regedit進入注冊表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks 下,應該只有一個正常的鍵值"{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 將其他的刪除。
〔我個人的最後解決和看法〕
我今天嘗試了多種辦法,最後我發現問題出在微軟的NET.Framework上面。我升級了這個軟體,並打齊了補丁,短暫平安後,有出現「內存不能為read」的情況。後來我受上面文章的啟發,卸載了微軟的NET.Framework1.0和1.1,世界太平了。
另外:如果是打開「我的電腦」、「我的文檔」等的時候出現上述情況,還有一種可能,就是你的右鍵菜單太臃腫了,此時只要清理右鍵菜單問題就解決了。
--------------------------------------------------------------------------------
〔試驗的結果〕
上面的方法,最管用、最徹底的方法是這個:
運行 輸入cmd 回車在命令提示符下輸入
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
【技巧】如果怕輸入錯誤的話,可以復制這條指令,然後在命令提示框點擊左上角的c:\,使用下面的「編輯-粘貼」功能就不容易輸錯了。在飛速滾屏完全靜止之後,別著急啟動其他程序,先耐心等一會兒,因為此時dll們還在找位置。直到你的指示燈不閃了再做別的
回答者: 好反呀 - 經理 五級
❻ 電腦玩游戲提示 Microsoft 基礎類應用程序已停止工作怎麼辦
最近看到好多人在玩游戲或者打開軟體的時候提示“xxxx Microsoft 基礎類應用程序已停止工作”這多半和兼容性有關系,下面小編就為大家分享下碰到此種情況的幾種解決辦法,希望對大家有所幫助。 方法一; 1、右鍵點擊程序快捷方式,在菜單欄選擇“屬性”選項 2、在彈出的屬性對話框,點擊上方【兼容性】選項 3、進入兼容性界面,勾選【以兼容模式運行這個程序】,然後在下方選擇【windows XP(Service Pack2)】,點擊下方確定選項 方法二; 1、打開電腦“開始”菜單,找到【運行】選項,點擊打開 2、打開運行對話框輸入 gpedit.msc 命令,點擊確定進入組策略界面 3、進入組策略依次打開【計算機配置】【管理模板】【windows組件】【應用程序兼容性】 4、在右邊列表中找到“關閉應用程序兼容性引擎“關閉程序兼容性助理”兩項,分別打開 5、在配置欄,勾選【已啟用】選項,然後點擊確定,如果上述方法仍然不能解決問題,可以重新安裝下游戲。
❼ 為什麼我電腦什麼游戲都玩不了
看看你的控制面板-區域和語言設置-高級 里的那個非unicode程序支持是不是被改了, 應該是中國大陸的才
亂碼翻譯全攻略
有很多朋友都被Windows系統中各式各樣的亂碼所困惑。特別是收到的一些十分重要的郵件程序、文件時會遇到亂碼,登上港台網站時會看到亂碼,還有原先顯示正常的Windows桌面、菜單中的漢字形如天書,本來顯示正常的各種應用程序、游戲中的漢字也成了亂碼等等,真的很是急人誤事!那怎麼辦呢?
漢字亂碼分類
漢字亂碼現象有4種類型:
1.文本亂碼:是Windows系統顯示亂碼,如:菜單、桌面、提示框等。這是由於注冊表中有關字體部分的設置不當引起的;
2.文檔亂碼:是各種應用程序、游戲本來顯示中文的地方出現亂碼。這種亂碼形成的原因比較復雜,有第1類的亂碼原因,也可能是軟體中用到的中文動態鏈接庫被英文動態鏈接庫覆蓋所造成的;
3.文件亂碼:主要是指郵件亂碼;
4.網頁亂碼:是由於港台的繁體中文大五碼(BIG5)與大陸簡體中文(GB2312)不通用而造成的。
消除各類亂碼的方法
一 系統亂碼的消除方法
這類亂碼是由於在Windows注冊表中,關於字體部分配置不正常造成的,即使你用內碼翻譯軟體處理也不會消除這類亂碼。那怎麼辦呢?請跟我來:
方法一:找一台與你的Windows版本相同且顯示正常的機器,依下列步驟進行:
1.在正常機器上選擇「開始」→「運行」,在對話框中鍵入「regedit」,打開注冊表編輯器;
2.請你將游標定位到「HKEY_LOCAL_MACHINE\ system\CurrentControlSet\Control\Fontassoc」,然後選擇「注冊表」→「導出注冊表文件」,再選擇「分支」,導出該分支注冊表信息到文件(如ZT.REG)中;
3.把ZT.REG文件拷貝到你那顯示亂碼的機器上,方法是:在顯示亂碼的機器上運行「regedit」,打開注冊表編輯器,選擇「注冊表」→「導入注冊注冊表」,把ZT.REG文件導入注冊表中即可。
方法二:如果你找不到一台與你的Windows版本相同且顯示正常的機器,則需要手工恢復字體部分的注冊表
項,其步驟是:
1.首先在顯示亂碼的機器上選擇「開始」→「運行」,在對話框中鍵入「regedit」,打開注冊表編輯器;
2.選擇「HKEY_LOCAL_MACHINE\System\ CurrentControlSet\Control\Fontassoc」,正常情況下,會有Associated DeaultFonts、Associated CharSet兩個文件夾,其正確的內容應是:
子目錄內容
中文Win98
中文Win98(OEM版)
中文Win2000
Associated CharSet
ANSI(00)=「yes」
GB2312(86)=「yes」
DEN(FF)=「yes」
SYMBOL(02)=「no」
ANSI(00)=「yes」
GB2312(86)=「yes」
OEM(FF)=「yes」
SYMBOL(02)=「no」
ANSI(00)=「yes」
OEM(FF)=「yes」
SYMBOL(02)=「no」
Associated DefaultFonts
AssocSystemFont=「simsun.ttf」
FontPackageDecorative=「宋體」
FontPackageDontcare=「宋體」
FontPackageModern=「宋體」
FontPackageRoman=「宋體」
FontPackageScript=「宋體」
FontPackageSwiss=「宋體」
或
AssocSystemFont=「simsun.ttf」
FontPackage=「新宋體」
FontPackageDecorative=「新宋體」
FontPackageDontcare=「新宋體」
FontPackageModern=「新宋體」
FontPackageRoman=「新宋體」
FontPackageScript=「新宋體」
FontPackageSwiss=「新宋體」
3.當出現漢字亂碼時,上述兩個文件夾中的內容就會不完整,有的沒有Associated CharSet文件夾或其中的內容殘缺不全;有的Associated DefaulFonts下的內容殘缺。如果遇到這種情況怎麼辦呢?其實你只要打開注冊表編輯器,在「HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Fonassoc」下,根據以上的正確內容恢復即可。
二 應用程序、游戲亂碼的消除方法
明明是中文軟體,可顯示界面上卻出現亂碼,這可能是由於注冊表中關於字體設置的信息不正確地被改變而造成的,一般是因為軟體的中文鏈接庫被英文鏈接庫覆蓋而引起的,這種現象經常發生在用微軟開發工具,例如VB、VC開發的中文軟體上。在這類軟體中,菜單等顯示界面上的漢字都是受一個動態鏈接庫「.DLL文件」控制,而軟體的這個動態鏈接庫一般是安裝在Win 98/2000的System目錄下的,如果以後你安裝了某個英文軟體也使用同名的動態鏈接庫,則英文軟體的動態鏈接庫就會覆蓋掉你原先的Windows\System下的中文軟體的動態鏈接庫。這樣,當你運行中文軟體時就會調用英文的動態鏈接庫,因此出現亂碼。解決辦法是重新安裝中文軟體,恢復中文動態鏈接庫即可。
三 電子郵件亂碼的消除方法
1.造成電子郵件亂碼的原因很多,主要有以下幾個方面:
(1)操作系統語種不同。對於中文電子郵件,如果收信方所用的操作系統是英文環境而且沒有外掛中文系統或未切換為中文編碼方式,也會無法看到中文,只見到亂碼。所有的雙位元組字元(如中文簡/繁體的GB和BIG5碼及日文的JIS、 EUC和朝鮮文的 KSC碼等)在非本語種操作系統下都會出現亂碼。同樣在中文簡體的GB碼環境下看其他雙位元組字元時也只能看到亂碼。
解決方法:安裝多語言支持包或使用多內碼顯示平台,對收到的郵件,根據其使用的語種切換到相應的編碼方式即可消除亂碼。
(2)郵件伺服器不支持8位(非ASCII碼格式)。傳輸郵件的傳輸機制或郵件編碼的不同,可能造成郵件伺服器不支持8位(非ASCII碼格式)傳輸而形成郵件亂碼。例如直接發送中文或二進制等非ASCII碼格式的郵件(如中文雙位元組文件、圖片文件.jpg、可執行文件.exe或壓縮文件.zip等二進制文件)時,郵件伺服器有可能無法處理,便把信件中每個字元的第8位都過濾掉,從而造成郵件信息的失真或損壞,在收到郵件時就是一堆亂碼。
解決方法:在發送8位格式的文本文件時,必須事先進行編碼,將文件轉換為7位ASCII碼或更少位數的格式,然後才能保證文件的正確傳送。收件人收到7位或更少位格式的郵件後,可以再轉換為8位的格式,這樣就可避免亂碼。
(3)收發端使用的E-mail軟體和設置不同。一般E-mail軟體的「附件」功能都可以自動對信件先進行編碼,然後再送出。這樣,只要收信人使用E-mail軟體就能區別信件的編碼方式,就可以自動將信件解碼。然而由於收發件人所用的E-mail軟體默認配置不同或收發件人自己定製的一些選項不同,所以在收到編碼的信件後,系統不一定能識別出信件所用的編碼方法,自然無法自動解碼,這樣就會出現亂碼。
解決方法:
①可以用WinZip+IE來解碼,請你把亂碼郵件的內容,拷貝到剪貼板中,然後將其粘貼到記事本中,存為文本文件(例如YJ.txt),再將其後綴改為.uue(改為YJ.uue),點擊此文件,會啟動WinZip,然後啟動IE,把WinZip中的001.txt 文件拖到IE窗口中,就會顯示郵件原來的內容,而不會看到亂碼。
②可以根據郵件中的關鍵字元判斷編碼方法,選取合適的解碼軟體進行解碼。郵件的編碼方式主要有:UUENCODE、 Base64 encode、QPencode、BINHEX等。 UUENCODE:這是UNIX環境下使用的編碼方式,目前已經很少用,大體格式為:
begin 644 kk.zip M1G)O;2!I;&EN+F)B3T!C(VEE+FYC='4N961U+G1W(%=E9"!.;W8@(#8@,3(ZM,SDZ,C4@,3DY- @I296-E:79E9#H@9G)O;2!F;&%B;6%I;"......end
特徵:亂碼前面含有「begin xxx」,後面是編碼前的原始文件名(如kk.zip),接著是已經過編碼的信件內容(如上述的亂碼部分),最後一行為「end」。
解碼辦法:可用BECKY!EUDORA等E-mail軟體,選擇編碼中相應的選項就可解碼,也可以在E-mail軟體中保存亂碼郵件,存為後綴為「.UUE」格式的文件,然後用Winzip 解碼展開。解碼後就會消除亂碼。
MIME/BASE64 encode:該編碼方式將3個位元組用4個位元組表示,由於編碼後的內容是6位的,因此可避免第8位被截掉,大體格式為:
MIME-Version:1.0
Content-Type:text/plain; charset="us-ascii"
Content-Transfer-Encoding:base64
Status:R
+sXqsT6Skp OWrSKXzsN3DRLFNrmGhQQ0Kq1+sTqq6vdCx
0LF6tFit07D
dw0ShRw0KD QqtuqX9p2m2RLF6p9qoz6XOIE 1Py3Jvc29mdCuiB
JbnRlcm5ldCBN……
特徵:亂碼前一般有如下幾部分「信頭」:Content- Type(內容類型)、CharSet(字元集)和Content-Transfer-Encoding(內容傳輸亂碼方式)。
解碼辦法:用E-mail軟體,選擇編碼中Base64 選項就可解碼,解碼後會消除亂碼。
QpencodeQp:全稱「Quoted-Printable Content-Transfer-Encoding」。因為這種格式郵件的內容都是 ASCII字元集中可以列印的字元,所以名稱中含有Printable。大體格式為:
=A1A=B1z=A6n=A1I=A7=DA=A6b=BA=F4=B8=F4=A4W
=B1o......
=E5==ABH=A5=F3=B0=DD=C3D=B1M=Aea=A1A......
特徵:內容通常有很多等號「=」,因此不需要看「信頭」 也可以判斷是否為QP編碼。
解碼辦法:把郵件中類似A1A=B1z=A6n...的部分編碼全部復制下來,貼到一個新的純文本文件中,然後在文件頭部加入Quoted-Pintable格式的文件頭:
Contenet-Type:text/plain;Charset="GB2312"
Content-Transfer-Encoding;Quoted-Pintable
然後以「.EML」為後綴保存文件,用資源管理器雙擊打開文件即可顯示正確的內容。如果還有部分漢字亂碼,可以用WinZip對存檔後的EML文件進行解壓,即可看到正確的內容。
BINHEX:這種編碼方式大體格式為:
(This file must be converted with Binhex4.0)
ssTqq6vdCx
oz6XOIE……
解碼辦法:用E-mail軟體對它解碼;也可在E-mail軟體中保存亂碼郵件,存為後綴為「.HQX」格式的文件,然後用WinZip解碼展開,解碼後會消除亂碼。
UTIF-7/UTIF-8:它們是UNICODE的兩種轉換碼。
UTIF-7編碼方式大體格式為:
+SGmhQbF/6pm6hSafapmK69L/j0pFexb6q+sXqsT6Skp. OWrSKXzsN3DRLFNrmGhQQ0Kq1-sTqq6vdCx
0LF6tFit07Ddw0
ShRw0KD QqtuqX9p2m2RLF6p9qoz6XOIE 1Py3Jvc29mdCuiBJbn
Rlcm5ldCBN……
解碼辦法:在原E-mail頭加入以下信息:
MIME-Version:1.0
Content-Type:text/plain; charset="utf-7"
Content-Transfer-Encoding:7bit
插入後與字元留一空行,將郵件存為「.EML」後綴,然後用Outlook即可解碼,消除亂碼。
UTIF-8
解碼辦法:在原E-mail頭加入以下信息:
MIME-Version:1.0
Content-Type:text/plain; charset="utf-8"
Content-Transfer-Encoding:8bit
將郵件存為「.EML」後綴,然後用Outlook即可解碼,消除亂碼。
另外,還可以採用以下方法解決:
A.請你在Outlook Express 中,把「查看」→「編碼」選為「簡體中文」;
B.更改IE的設置:在IE瀏覽器中,打開「工具」 →「Internet選項(o)...」→「高級」,將「瀏覽」中「始終以 UTF-8 發送URL」選項前面的勾去掉;
C.或將文件下載到本地硬碟裡面再打開(點擊滑鼠右鍵選擇「文件另存為…」)。保存文件時,文件名可能會是亂碼,只需更改該文件名即可;
D.或直接使用文件名為英文的附件,可以直接在IE中打開。
但有時仍不能奏效。
③無意中,筆者近日在網上沖浪時發現了一個好東西:很酷的CodeView「亂碼察看器」!好事共享,不敢獨吞!這就趕緊介紹給朋友們:
大名:亂碼察看器
小名:CodeView
版本:2.50
系統平台:Win 95/98/NT/2000
CodeView「亂碼察看器」顧名思義就是用來察看各種亂碼的工具軟體,目前已經可以支持MIME/BASE64,Quoted-Printable、HZ和UUCode 4種形式的編碼和解碼,通過一些特殊的演算法,此程序還可以解開部分由於位元組高位被屏蔽而形成的死亂碼(使用其他方式的解碼),另外還提供了很多附加的功能,比如單鍵解碼功能和混合亂碼識別功能,使得使用本程序解碼變得非常容易和輕松,CodeView是綠色軟體,無需安裝,只要將得到的壓縮文件解開到一個目錄中即可運行。它有兩種使用方法:
方法一:在有亂碼的窗口中直接按下單鍵解碼熱鍵,默認為F7,如果窗口中的亂碼能被識別,就會有一個窗口覆蓋當前的亂碼窗口,你可以直接在這個窗口中閱解碼後的內容。在大多數情況下,筆者建議你使用這個方式。
方法二:將亂碼的內容通過剪貼板復制到CodeView「亂碼察看器」的源窗口中,然後你可以試著用不同的解碼方式進行解碼。這種方式解碼將給你更多的選擇自由,並且可以使用一些在單鍵解碼中無法實現的解碼方式(主要是其他方式解碼和UUCode解碼),對於一些單鍵解碼無法解決的亂碼,你就可以使用此方式來試試解碼。
下載地址:http://www.skycn.com/soft/394.html
2.避免別人收到亂碼郵件的方法:
(1)發送前將郵件按7位格式重新編碼
在發送8位格式的文本文件時,必須事先進行編碼,將文件轉換為7位ASCII碼或更少位數的格式,然後才能保證文件的正確傳送。收件人收到7位或更少位格式的郵件之後,可以再轉換為8位的格式,這樣就可以正確閱讀了。在郵件客戶端軟體中的書寫選項中,設定默認自動為7位編碼。
(2)E-mail軟體中的正確設置
使用英文E-mail軟體應設置成:
文字設定Default CHARSET:ISO 8859-1(Latin1)
編碼方式Encoding:Quoted-Printable,不可選擇7位(因為7位不支持中文)
字碼頁Code Page(可選):936或HZ-GB-2312
以支持整字識別郵件格式:MIME
字體:宋體
中文E-mail軟體應設置成:
文字設定Default CHARSET:簡體中文GB2312
編碼方式Encoding:Quoted-Printable郵件格式:MIME
字體:宋體
Outlook Express中應把「簡體中文(GB2312)」作為
默認的郵件使用語言,選擇「國際設置」為接收的所有郵件使用默認的編碼。
(3)發送重要信息時先發測試
當你需要發送重要信息時,為了確認是否無須編碼即可發送正文,應該先發送測試信。而且還應確定收件人能否對附件文件進行解碼。如果發送已經編碼的郵件,則最好添加足夠的「信頭」信息,以便收件人知道所需的解碼方法。建議你對UUENCODE/UUDeview編碼方式用UUENCODING作信頭,對Mpack編碼方式用Base64 encoding作信頭。
(4)轉換成合適的內碼
在E-mail軟體的書寫選項中,設定默認自動為7位編碼。對用漢字系統編輯的中文郵件在發送前,最好在固定的簽字欄中註明自己所使用的漢字碼標准(如:GB2312、中文 HZ、GBK);港澳台及東南亞地區郵件作者在使用BIG5碼撰寫完郵件、向內地發送前要轉換成上述3種簡體國標碼中的一種形式並在簽字欄中註明。如不轉換則可能無法閱讀,因為國內用戶使用的郵件系統有很多是不支持BIG5碼的。
(5)利用「附件」功能發送重要的文件
郵件系統附加這類非標准 ASCII碼格式的文件時,附加文件通常可以自動進行「Base64」方式編碼(僅對附件部分進行編碼)。在用「附件」方式發送郵件之前,無需進行編碼,否則適得其反。因為郵件軟體能夠自動成功解碼這類 「附加」文件,因此在發送中文類郵件時應該首選這種方法。
如果無法以附件方式發送文件,則必須在正文中發送中文或二進制文件。如果發/收件人之間遠隔萬里,則傳送過程中,第8位將可能被截掉。這時最好先在正文中用中文給收件人發一封測試信,並了解對方能否正確收到郵件正文。如果第8位被截掉,則收件人將會看到一些亂碼,而不是上述的uu/b64/Qp等格式,而且這種信件幾乎不可恢復。
解決方法:在你所使用的郵件系統中,選擇其首選項或選項配置中的「Quoted Printalbe」或「MIME encoding」即可。
3.非中文平台上,使中文電子郵件不出現亂碼方法
當對方在沒有中文平台的情況下打開你發的中文電子郵件時,就會出現亂碼。解決辦法有兩種:
(1)用E-mail AID之類的工具。UCWIN GOLD 1.0附帶的工具E-mail AID可把文本文件轉換為AID格式文件,大小隻比原TXT文件增加幾K。寫好中文郵件後,用文本格式存檔,然後用E-mail AID以AID格式保存,最後把此文件連同E-mail AID一起作為附件插在信中。對方收到信後,只需運行E-mail AID打開AID格式文件即可看到漢字,不管對方在何種語言平台下,都不會出現亂碼。
(2)把中文電子郵件以圖形格式保存。用畫筆等繪圖軟體書寫中文郵件,在圖片中輸入文字,用默認的BMP格式保存,將屬性置為黑白模式(以減少BMP圖片體積),然後用 WinZip把它壓縮成ZIP格式,作為附件在郵件中發送,這樣不管對方在何種語言平台下,都不會出現亂碼。這種方法的缺點是生成的BMP中文郵件的體積比較大。
4.收信方排除亂碼的方法
請你在「查看(V)」下拉菜單中選中「語言」,隨後出現的菜單中會包括本系統所能支持的全部漢字標准,在其中單擊郵件中所指明的一種。如果收到的郵件中沒有指明其所使用的漢字標准,則只可按順序單擊,直到郵件正文顯示正確為止(數個漢字標准中必有一個前面有「.」標記,此即你編輯器所用的漢字標准)。若使用的是Netscape,可在Option菜單的Document Encode中選擇相應的項目即可。
四 關於網頁、文本和文檔文件亂碼的消除方法
大家知道,網頁亂碼是瀏覽器對HTML網頁解釋時形成的。如果在網頁的代碼中有形如:
〈HTML〉〈HEAD〉〈META CONTENT=「text/html;charset=ISO-8859-1」〉〈/HEAD〉....〈/HTML〉的語句,瀏覽器在顯示此頁時,就會出現亂碼。因為瀏覽器會將此頁語種辨認為「歐洲語系」。
解決辦法:
1.將語種「ISO-8859-1」改為GB2312,如果是繁體網頁則改為BIG5。
2.不修改網頁代碼,事先為瀏覽器安裝多語言支持包(例如在安裝IE時要安裝多語言支持包),這樣在瀏覽網頁出現亂碼時,就可以在瀏覽器中選擇菜單欄下的「查看」→ 「編碼」→「自動選擇」」→「簡體中文(GB2312),如為繁體中文,則選擇「查看」→「編碼」→「自動選擇」」→「 繁體中文(BIG5),其他語言依此類推選擇相應的語系,這樣可消除網頁亂碼現象。
3.利用多內碼顯示平台來轉換內碼。
4.網頁無亂碼保存的方法是:用瀏覽器打開網頁時,在 「查看」→「編碼」中選擇「自動選擇」,存檔時保存類型選 「Web頁」,編碼選擇「UNICOD」,這樣保存過的網頁再次打開時,在瀏覽器菜單「查看」→「編碼」中不管選擇簡體中文(GB2312)、簡體中文(HZ)還是UNICODE(UTF-8)或繁體中文(BIG5),最終顯示都不會出現亂碼。
Win 9x/2000中文本、文檔文件的亂碼,一般是繁體中文顯示在簡體中文系統下,或者是在相反的情況造成的。只要把原本是繁體的內碼轉換為簡體內碼(或者相反)就可消除亂碼。Word 2000就能勝任這類工作,例如要把繁體中文轉換為簡體中文,方法是:選擇要轉換內碼的文件,在彈出的對話框中,選擇「其他編碼」中的「繁體中文(BIG5)」一項,打開此文件時就不會出現亂碼。無亂碼保存的方法:在保存時選擇「文件」中的「另存為」,先存為 「Word文檔」,存檔後打開再存為純文本等其他格式;你也可以用Word 2000的「中文簡繁轉換」工具實現無亂碼保存,方法是在菜單欄中選擇「工具 」→「語言」→「中文簡繁轉換」,內碼轉換後再保存。金山公司的WPS 2000也能轉換內碼,支持GB2312、BIG5、GBK等3種主要的漢字編碼,並可在輸出RTF、TXT、HTM格式文件時對內碼進行轉換。除此之外,消除這類亂碼還可用內碼轉換工具,可以對BIG5(繁體中文)和GB2312(國標碼、簡體中文)進行相互轉換來消除亂碼。