国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

jenkins在windows上中文亂碼問(wèn)題

這篇具有很好參考價(jià)值的文章主要介紹了jenkins在windows上中文亂碼問(wèn)題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

需求

項(xiàng)目需要,我采用jenkins + python + vs2017來(lái)實(shí)現(xiàn)自動(dòng)打包的流程,之前都是用現(xiàn)成的,這一次是自己實(shí)踐,搭建過(guò)程就省略了,教程太多,jenkins控制臺(tái)的亂碼問(wèn)題,倒是讓我比較困擾,所以記錄一下。

問(wèn)題現(xiàn)象

jenkins中開(kāi)始打包任務(wù)之后,發(fā)現(xiàn)在vs2017編譯之后輸出的日志中,中文部分都是亂碼。

無(wú)效解決

  1. 在網(wǎng)上發(fā)現(xiàn)一個(gè)方式,在系統(tǒng)設(shè)置的語(yǔ)言設(shè)置中,將當(dāng)前系統(tǒng)的編碼選擇為beta版Unicode編碼,重啟系統(tǒng),啟動(dòng)jenkins,可以看到中文確實(shí)展示正常,但是,此時(shí)我們的代碼中各種錯(cuò)誤,是因?yàn)橹岸际鞘褂胓bk編碼,現(xiàn)在整個(gè)系統(tǒng)都變成了Unicode編碼,所以報(bào)錯(cuò),一般的大工程中,去修改代碼是不現(xiàn)實(shí)的,所以這個(gè)方法pass
  2. 又發(fā)現(xiàn)一個(gè)比較古老的方式,在系統(tǒng)環(huán)境變量中設(shè)置JAVA_TOOL_OPTIONS路徑,配置上utf-8,然后在jenkins的系統(tǒng)設(shè)置,在全局屬性添加LANG和utf-8的鍵值對(duì),這個(gè)方法也不起作用,java使用的Unicode編碼,現(xiàn)在jenkins基本和java保持抑制了
  3. 以及還有在python中頭部添加“coding=utf-8”這種方法,也不起作用?,F(xiàn)在的python3.x之后,默認(rèn)都是utf-8的編碼
  4. 還看到一個(gè)方法,就是在終端里面使用chcp 65001來(lái)設(shè)置,但是我嘗試發(fā)現(xiàn),這個(gè)也不起作用

思考

后來(lái)我又嘗試了另一種方案,我把輸出的日志內(nèi)容寫(xiě)到文件中,發(fā)現(xiàn)其編碼是gbk,所以我將這個(gè)日志內(nèi)容轉(zhuǎn)換成了utf-8,但是輸出的中文還是亂碼。
然后結(jié)合上面第一個(gè)解決方案,發(fā)現(xiàn)關(guān)鍵就在于windows控制臺(tái)輸出編碼和utf-8的沖突,所以還是要從系統(tǒng)控制臺(tái)編碼上入手,才應(yīng)該可能解決。

最終解決

最終我發(fā)現(xiàn)了一個(gè)帖子,從里面找到了一下幾個(gè)東西:

sys.getdefaultencoding()    #系統(tǒng)編碼          ===>  utf-8
sys.getfilesystemencoding() #文件編碼          ===>  utf-8
sys.stdin.encoding          #控制臺(tái)輸入流編碼   ===>  gbk
sys.stdout.encoding         #控制臺(tái)輸出流編碼   ===>  gbk
sys.stderr.encoding         #控制臺(tái)錯(cuò)誤流編碼   ===>  gbk

所以現(xiàn)在,就知道了亂碼的根源,無(wú)論我們的日志是什么編碼,都將按照gbk來(lái)輸出,然后jenkins這邊會(huì)以u(píng)tf-8來(lái)解析,所以亂碼出現(xiàn)了,緊接著就找到了python中專(zhuān)門(mén)設(shè)置編碼的方法,如下:

sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')

我的場(chǎng)景中需要用的就這兩個(gè),所以將這兩個(gè)流的編碼設(shè)置為utf-8,再次實(shí)驗(yàn),完美解決亂碼問(wèn)題。

參考

主要感謝下面這個(gè)文章的大神

修改控制臺(tái)輸入輸出以及錯(cuò)誤流的編碼提示文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-619781.html

到了這里,關(guān)于jenkins在windows上中文亂碼問(wèn)題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Windows terminal 添加 git bash 解決git中文亂碼顯示問(wèn)題

    Windows terminal 添加 git bash 解決git中文亂碼顯示問(wèn)題

    說(shuō)明: 點(diǎn)擊箭頭 選擇設(shè)置 說(shuō)明: 點(diǎn)擊\\\"添加新配置文件\\\" 配置名稱(chēng) 命令行,可執(zhí)行文件的具體語(yǔ)句 C:Program FilesGitbinbash.exe 啟動(dòng)目錄,配置指定目錄,默認(rèn)打開(kāi)是在 terminal 的安裝目錄 圖標(biāo),用于在終端前顯示 解決辦法:在命令行中添加參數(shù) --login -i ,完整的命令行內(nèi)容

    2024年02月14日
    瀏覽(37)
  • Windows10環(huán)境下的Eclipse控制臺(tái)輸出中文亂碼的問(wèn)題的解決

    Windows10環(huán)境下的Eclipse控制臺(tái)輸出中文亂碼的問(wèn)題的解決

    操作系統(tǒng):Windows10中文版 IDE:Eclipse 2022-12 開(kāi)發(fā)語(yǔ)言:Java JDK19 項(xiàng)目編碼:UTF-8 寫(xiě)了一個(gè)很簡(jiǎn)單地main方法,打印出中文,結(jié)果出現(xiàn)了亂碼的情形,如下圖: 上網(wǎng)搜索了很多解決方式,大部分都是說(shuō)要更改項(xiàng)目的字符編碼集。如下圖: 按照網(wǎng)上的說(shuō)法將項(xiàng)目的編碼字符集由UT

    2024年02月02日
    瀏覽(100)
  • 在Windows下查看并設(shè)置CMD命令行字符編碼格式,解決中文亂碼問(wèn)題。

    在Windows下查看并設(shè)置CMD命令行字符編碼格式,解決中文亂碼問(wèn)題。

    今天在復(fù)習(xí)java的時(shí)候,用cmd運(yùn)行java文件時(shí)出現(xiàn)了中文亂碼問(wèn)題。其實(shí)這個(gè)問(wèn)題我在大一下學(xué)期第一次上java課時(shí)就遇到了,可惜那時(shí)老師使用其他IDE來(lái)教學(xué),我也懶得去解決這個(gè)問(wèn)題,這個(gè)問(wèn)題就不了了之了。今天又遇到這個(gè)問(wèn)題,百度了相關(guān)資料終于解決。 首先,代碼如下

    2024年02月12日
    瀏覽(19)
  • Jenkins執(zhí)行流水線(xiàn)項(xiàng)目,控制臺(tái)輸出中文是亂碼

    Jenkins執(zhí)行流水線(xiàn)項(xiàng)目,控制臺(tái)輸出中文是亂碼

    測(cè)試環(huán)境: ????????操作系統(tǒng):Windows 10 ????????Jenkins版本:Jenkins 2.375.1 問(wèn)題現(xiàn)象: 搭建Jenkins的流水線(xiàn)項(xiàng)目,在Jenkinsfile腳本中想打印中文,運(yùn)行pipeline后,在Jenkins的Console Output出現(xiàn)亂碼 問(wèn)題原因: 出現(xiàn)Jenkins控制臺(tái)打印中文亂碼問(wèn)題,通常是由于編碼設(shè)置不正確導(dǎo)致

    2024年02月06日
    瀏覽(29)
  • IDEA 控制臺(tái)日志中文亂碼解決方案

    IDEA 控制臺(tái)日志中文亂碼解決方案

    老白新學(xué)JAVA,初用IDEA,控制臺(tái)打印中文總是亂碼,網(wǎng)上找了好多解決方法,都不好用,下面記錄解決過(guò)程。 1.修改idea64.exe.vmoptions ,打開(kāi)最后一行增加如下代碼 idea快捷方式右鍵-屬性-打開(kāi)文件所有位置,找到idea的安裝位置 2.設(shè)置IDEA編碼格式, 依次打開(kāi)file-setting-editor-file e

    2023年04月08日
    瀏覽(98)
  • Java運(yùn)行時(shí)jar時(shí)終端輸出的中文日志是亂碼

    Java運(yùn)行時(shí)jar時(shí)終端輸出的中文日志是亂碼

    運(yùn)行Jar時(shí)在控制臺(tái)輸出的中文日志全是亂碼,這是因?yàn)閏md/bash默認(rèn)的編碼是GBK,只要把cmd的編碼改成UTF-8即可 ?兩種方式修改:臨時(shí)修改和注冊(cè)表永久修改 只對(duì)當(dāng)前的cmd頁(yè)面有效,關(guān)閉后重新打開(kāi)都會(huì)恢復(fù)成GBK, 打開(kāi)cmd,輸入以下命令 這樣既可以更改cmd的編碼為UTF-8了。 以下

    2024年02月10日
    瀏覽(15)
  • IntelliJ IDEA 中的控制臺(tái)輸出日志中文亂碼之解決辦法

    IntelliJ IDEA 中的控制臺(tái)輸出日志中文亂碼通常是由于控制臺(tái)使用的默認(rèn)字符編碼與系統(tǒng)不匹配所致。要解決這個(gè)問(wèn)題,請(qǐng)嘗試以下方法: 打開(kāi) IntelliJ IDEA, 在頂部菜單欄查看 Run/Debug Configurations 列表。這是您項(xiàng)目中所使用的配置列表。 選擇您要修改的 Run/Debug Configuration。如果有

    2024年02月08日
    瀏覽(103)
  • powershell中文亂碼 windows cmd

    問(wèn)題的起因是windoes默認(rèn)字符編碼是GBK,而目前通用字符集使用的是UTF-8 關(guān)于字符集的問(wèn)題歡迎移架到 字符集 最終解決方案 為使用最新的windows特性,將默認(rèn)字符集切換到UTF-8 方法1. 進(jìn)入控制面板 - 時(shí)鐘和區(qū)域 - 區(qū)域 - 管理 - 更改系統(tǒng)區(qū)域設(shè)置 - 勾選Beta版:使用 UnicodeUTF-8提供全

    2024年02月02日
    瀏覽(29)
  • windows 解壓文件出現(xiàn)亂碼 7zip解壓文件中文亂碼 解決方法

    按照如下教程,更改windows默認(rèn)編碼格式為utf-8之后。 https://blog.csdn.net/qq_43780850/article/details/129122210 解壓文件時(shí),文件中的中文出現(xiàn)亂碼。原因是壓縮文件的格式為GBK,而我將windows平臺(tái)的默認(rèn)編碼改成了UTF-8,導(dǎo)致解壓出現(xiàn)亂碼。此時(shí)只需要按照上面的教程,取消勾選utf-8支持

    2024年02月13日
    瀏覽(28)
  • 串口打印中文亂碼及注釋亂碼問(wèn)題

    串口打印中文亂碼及注釋亂碼問(wèn)題

    在使用keil5中出現(xiàn)如下問(wèn)題: 這時(shí)候的解決方法是在keil5頂頭工具欄上進(jìn)入:Edit→Configuration,如下然后進(jìn)行選擇GB2312編碼方式: 在檢查串口波特率等設(shè)置雙方均一樣之后,還是出現(xiàn)中文亂碼問(wèn)題的解決方法如下: 方法一: ? 在進(jìn)行上面的操作后,注釋處中文亂碼問(wèn)題解決

    2024年02月07日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包