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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

日志 中文乱码、nacos 中文乱码、saltstack 中文乱码、docker中文乱码

發布時間:2023/12/10 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 日志 中文乱码、nacos 中文乱码、saltstack 中文乱码、docker中文乱码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我是烤鴨:

? 今天分享一個 saltstack 中文亂碼 的問題。

問題說明

由于項目之前沒有接入公司的發布系統,今天接入之后發現日志亂碼,不僅如此,從nacos獲取到的中文參數也是亂碼。于是猜想是發布系統遺留了一個bug。如下圖。

發布系統使用的是 saltstack,網上查了下,saltstack 導致的中文亂碼,下文說的是2015.8 之后的版本修復了,而我們這的版本是2019.2.5。

https://blog.csdn.net/hnhuangyiyang/article/details/50421738

即便如此我們還是去看一下現在的源碼。找到salt依賴的 cmd腳本。

more /usr/lib/python2.7/site-packages/salt/modules/cmdmod.py


關于上邊參數的說明,可以看一下 https://www.iteye.com/blog/yintech-397380,這里重點看一下 LANGUAGE。

locale的設定:
LC_ALL和LANG優先級的關系:LC_ALL > LC_* >LANG
1、如果需要一個純中文的系統的話,設定LC_ALL= zh_CN.XXXX,或者LANG=zh_CN.XXXX都可以。
2、如果只想要一個可以輸入中文的環境,而保持菜單、標題,系統信息等等為英文界面,那么只需要設定 LC_CTYPE=zh_CN.XXXX,LANG=en_US.XXXX就可以了。
3、假如什么也不做的話,也就是LC_ALL,LANG和LC_*均不指定特定值的話,系統將采用POSIX作為lcoale,也就是C locale。

LANG和LANGUAGE的區別:
LANG - Specifies the default locale for all unset locale variables
LANGUAGE - Most programs use this for the language of its interface
LANGUAGE是設置應用程序的界面語言。而LANG是優先級很低的一個變量,它指定所有與locale有關的變量的默認值。

可以看到啟動應用程序沒有設置 lc_all ,會按照 language處理,而這里language設置的C。

C 是啥編碼呢。看下這篇http://www.gnu.org/software/libc/manual/html_node/Standard-Locales.html#Standard-Locales,也就是 ISO 編碼。

編碼亂了,為什么會導致nacos和日志亂碼,new String的時候不指定編碼格式,會按照當前環境變量的編碼格式創建,所以亂碼了。

其實docker也是一樣的,可以參考解決方案的第一個。

解決方案

  • 修改應用程序編碼,比如我們是java應用,在啟動腳本中增加 -Dfile.encoding=utf-8

  • 修改 saltstack ,因為salt實際調用用的是SLS,需要把env參數找位置加進去,如下圖

  • 當然也可以修改 上邊說到的 cmdmod.py

總結:

問題出現還是有一定影響的,總結下發布系統使用挺久的了,出現這個問題沒人反饋過(沒人想到是發布系統的問題),要不自己改腳本,要不想別的辦法處理(new String的時候,指定編碼格式)。

這種問題最好還是由上游處理,解決方案的1、3都不太友好。

還有就是測試和生產環境并不一致,發布系統只在生產環境使用(如果發布系統出bug了,很難查,而且測試驗收通過了?)

坑無處不在,希望天下無坑。

總結

以上是生活随笔為你收集整理的日志 中文乱码、nacos 中文乱码、saltstack 中文乱码、docker中文乱码的全部內容,希望文章能夠幫你解決所遇到的問題。

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