日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++日志文件中文显示乱码的问题及解决办法

發布時間:2024/2/28 c/c++ 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++日志文件中文显示乱码的问题及解决办法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

近段時間在做戰斗系統,昨天觀察日志時發現中文顯示亂碼,而且奇怪的是有些中文日志是正常的,有些中文日志亂碼

就是下面這種表現

Debug - Thu Oct 24 20:42:35 2019 : systems/ability/AbilityPlugin.cpp_104:AbilityPlugin::SetAbility(),戰斗房間=1012,playerID=1012,roleID=1,abilityName=cur_hp,abilityValue=88 Debug - Thu Oct 24 20:42:35 2019 : systems/action/actionplugin.cpp_238:ActionPlugin::do_cast_spell() 緇撴潫, 鎴塊棿ID=1012, 驢驢驢ID=1013, 驢驢ID=1, 驢驢驢驢ID=1012, 驢驢ID=1, 驢驢ID=1, Debug - Thu Oct 24 20:42:35 2019 : game_engine.cpp_169:[CGameEngine]::SendToClient sockindex=1 SendToClient cmd=118 size=35 Debug - Thu Oct 24 20:42:35 2019 : systems/scene/battleroom.cpp_94:[CBattleRoom] OnRoomRun userid=1012 lTime=1571920955508 m_tickFlag=1571920956008 m_tickIndex=50. Debug - Thu Oct 24 20:42:35 2019 : systems/ai/logic.cpp_45:鎴樻枟鎴塊棿=1013, 鏂芥硶鑰匢D=1012, 瑙掕壊ID=1錛屾柦娉曠洰鏍嘔D=1013, 瑙掕壊ID=1, 鎶€鑳絀D=1, 褰撳墠鏃墮棿=1571920955509

可以看到AbilityPlugin.cpp的中文顯示是正常的,但actionplugin.cpp的中文顯示就是亂碼

相信大家的第一反應就是這兩個cpp文件的編碼格式不同

我也是修改VScode中文件的編碼格式,但是非常不幸的是編譯執行后還是亂碼

后來才知道,我只是修改了VScode的解析方式,沒修改cpp文件本身的編碼方式,巨坑啊

下面說正規的解決辦法

1. 用vim 打開代碼文件

2. 查看文件的編碼方式,即命令 set fileencoding 應該不是utf-8的

3. 設置文件的編碼方式,即命令 set fileencoding=utf-8

4. 保存文件

5. 重新編譯后運行,日志文件打開時也以utf-8方式進行解析,這個時候就都能正常顯示了

如下圖:

Debug - Thu Oct 24 21:04:26 2019 : systems/ability/AbilityPlugin.cpp_104:AbilityPlugin::SetAbility(),戰斗房間=1017,playerID=1016,roleID=1,abilityName=cur_hp,abilityValue=78 Debug - Thu Oct 24 21:04:26 2019 : systems/action/actionplugin.cpp_239:ActionPlugin::do_cast_spell() 結束, 戰斗房間=1017, 施法者ID=1017, 角色ID=1, 施法目標ID=1016, 角色ID=1, 技能ID=1, Debug - Thu Oct 24 21:04:26 2019 : game_engine.cpp_169:[CGameEngine]::SendToClient sockindex=2 SendToClient cmd=118 size=35 Debug - Thu Oct 24 21:04:26 2019 : systems/ai/logic.cpp_45:戰斗房間=1017, 施法者ID=1016, 角色ID=1,施法目標ID=1017, 角色ID=1, 技能ID=0, 當前時間=1571922266013

注意:源碼文件其他方式的編碼也是可以的,但是查看日志的時候也需要對應的編碼方式才行,為了統一,我們用utf-8

?

?

總結

以上是生活随笔為你收集整理的c++日志文件中文显示乱码的问题及解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。