選單
GSS 技術部落格
在這個園地裡我們將從技術、專案管理、客戶對談面和大家分享我們多年的經驗,希望大家不管是喜歡或是有意見,都可以回饋給我們,讓我們有機會和大家對話並一起成長!
若有任何問題請來信:gss_crm@gss.com.tw
2 分鐘閱讀時間 (348 個字)

本來測試跑得好好的,中文變亂碼了,怎麼辦

20210513-

原本以為 VM 移機,Jenkins slave node 上的測試開機後例行一下測試,跑安心的應該是可以過的,

卻沒有想到壞了,排除狀況:

  1. 壞掉的起因:受測主機也因為該 VM 移機,受測的 URL 也改了,怎麼辦呢?要改測試程式碼嗎? 答案是不用,繼續看下去...
  2. 透過 Jenkins 設定 + powershell 改了測試碼中的 URL,URL 對了,但是驗證登入帳號的名字,卻壞掉了,原來是變成亂碼
  3. 除了上述 powershell 更動 URL 之外,測試程式都沒有改,移機前跑正常,移機後理論上 URL 改好了以後,就應該會跑對
  4. 後來用 notepad++ 打開測試程式碼來看也是亂碼,確認 notepad 可以正常顯示中文,此時知道了,透過 powershell 轉換 URL 後,變亂碼了。
  5. 那是 powershell 的問題嗎?  之前其他專案使用就會出現了,不會移機後才出現。
  6. 所以檢查機器上的語言區設定,加上後來爬文有看到可能是這樣解法,經過調整測試確認,答案就是這樣了,調整 windows 如下的設定:

控制台 > 時鐘和區域 > 地區 > 系統管理 > 變更系統地區設定 > 【勾選】Beta:使用Unicode UTF-8提供全球語言支援(U)
重開機 > 再跑測試 > OK 了 如下圖

改網址不改測試程式碼的 powershell 如下,$ENV:WEB_URL 讀的是 Jenkins 的設定,如下圖

# "change url 切換受測網站 " 
$targetFile="test1.js"

echo "----------- change before -----------" 
type $targetFile|findstr http


(Get-Content $targetFile) | Foreach-Object {$_ -replace "http://ap11/", 
$ENV:WEB_URL  } | Set-Content $targetFile


echo "----------- change after -----------" 
type $targetFile|findstr http 
Ansible #4 - 安裝篇[mac]
Ansible # 3 - 安裝篇[Linux - Ubuntu]

相關文章

 

評論

尚無評論
已經注冊了? 這裡登入
Guest
2024/05/19, 週日

Captcha 圖像