在很多情況下,都會推薦大家不要使用中文系統用戶名以及中文路徑
今天就帶大家深入探討一個在使用軟件過程中經常遇到但容易被忽視的問題:爲什麼在使用許多軟件時,不應該使用中文的系統用戶名和路徑名。
字符編碼問題
很多軟件通常可以正常讀取UTF-8編碼(一種全球通用的國際化字符編碼,通常使用1~4字節變長編碼方式),但不能正常讀取 通常的中文字符編碼GBK(雙字節編碼)
下面我們來示範一下你的中文路徑名和系統用戶名被不能接受GBK編碼的程序讀取到以後是個什麼樣子
這是你的中文路徑
可以看到,在以UTF-8編碼讀取到GBK編碼的中文路徑後,路徑變成了一堆奇怪的亂碼,這就導致程序無法正確定位其目標位置,然後拋出異常和錯誤
開發問題
就拿C++這一門語言的標準庫而言,比如傳統的char類型儲存單字節ASCII碼,其8位不太可能支持中文.
ASCII表
還有C風格string和標準模板庫(STL)中的普通string模板也對中文支持的不好
那麼開發人員在使用這樣傳統的文件IO函數以及傳統的數據類型進行開發的時候,就會出現無法正常讀取中文的問題
現代一點的語言和標準,如C++11開始就提倡用wchar,wsring,char_16,char_32這樣的寬字節字符類型了,開發過程中我們通常將讀取的字符設爲寬字符類型即可解決中文讀取問題
解決方案
上面的從計算機視角的分析可能略爲枯燥,但下面我們將提到這個問題的解決方案
1.創建新系統用戶並設置爲英文用戶名並給予其超級管理員權限,同時備份老用戶文檔並刪除老用戶(可選)
在Windows設置裏添加賬戶,設置爲英文用戶名,並給予其超級管理員權限
同時備份你的老用戶文件(C:/用戶/老用戶/...)
複製/移動到新用戶文件夾下
(可選)接着刪除老用戶
2.重裝系統/恢復出廠設置
如果你的電腦上沒有什麼你認爲珍貴的東西,你可以直接重裝/恢復系統到原始狀態,這時候再重新創建一個英文名用戶
3.可能不需要更改你的中文名用戶,但你需要開啓系統全局UTF-8編碼
首先打開Windows設置-時間和語言
語言和區域-管理語言設置
更改系統區域設置
開啓Beta功能:使用UTF-8提供全球語言支持
如果你不喜歡我的文章,記得不要點贊收藏充電
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com