1. 程式人生 > >解決svn post-commit 中文亂碼問題

解決svn post-commit 中文亂碼問題

svn hooks 目錄下預設的 post-commit 指令碼模板通過呼叫 commit-email.pl 來分析當次提交的內容並根據引數設定把修改資訊 email 給專案相關人員。指令碼支援使用 -m 引數進行正則過濾,當修改不同目錄的內容時可以分別 email 給不同的郵件地址。

不過當專案中存在中文檔名的時候,由於 svn 會把非ascii碼字元轉義成形如 ?/325 的格式,所以在發出來的 email 裡面這些中文都變成了不可讀的數字。

要把這些編碼轉回原來的字元,只需要在 commit-email.pl 指令碼處理 email body 資訊的地方加上一段轉碼處理即可。比如在 my @difflines;

(行487) 的前面加上:

for (my $i=0; $i<@body; ++$i){
    my @rsa = split( //?///, $body[$i] );
    $body[$i] = "";
    foreach my $val (@rsa) {
        $val =~ /(^[0-9]{3})(.*)/;
        if(defined $1 and $1 gt 0){
            #print "/n[".$1 . "," . $2."]";
            $body[$i] .= chr($1) . $2;
        }
        else{
            $body[$i] .= $val;
        }
    }
}

把之前 push 到 @body 變數的所有內容重新進行處理,發現 ?/ 後面跟三個數字就替換為相應的字元。

另外在 post-commit 模板指令碼中沒有寫 commit-email.pl 的絕對路徑,需要寫上才能正常被呼叫。

 

相關推薦

解決svn post-commit 中文亂碼問題

svn hooks 目錄下預設的 post-commit 指令碼模板通過呼叫 commit-email.pl 來分析當次提交的內容並根據引數設定把修改資訊 email 給專案相關人員。指令碼支援使用 -m 引數進行正則過濾,當修改不同目錄的內容時可以分別 email 給不同的郵件地址。 不過當專案中存在中文

windows svn post-commit 報錯解決 error resolving case

user 報錯 .net 證書 dev .cn .html clas ram 在svn倉庫目錄下有個hooks目錄,下面建一個 post-commit.cmd 文件,有代碼提交到倉庫,自動checkout到指定目錄。 @echo onSET REPOS=%1SET

SpringMVC如何解決POST請求中文亂碼問題,GET的又如何處理呢?

rec ppi utf-8 proto style app 亂碼問題 ping 解決 在web.xml中 <filter> <filter-name>CharacterEncodingFilter</filter-name>

使用httpclient post請求中文亂碼解決辦法

gin pri div method con 情況下 turn .get 解決 使用httpclient post請求中文亂碼解決辦法 在使用httpclient發送post請求的時候,接收端中文亂碼問題解決。 正文: 我們都知道,一般情況下使用post請求

解決請求引數的中文亂碼問題(get、post

2018-11-28        在web請求與響應中,會遇到亂碼問題,比如填寫表單資料時,難免會輸入中文,姓名、公司名稱等。由於HTML設定了瀏覽器在傳遞請求引數時,採用的編碼方式是UTF-8,但在解碼時採用的是預設的ISO8859-1,因此會導致亂碼的出現。

微信小程式POST請求中文亂碼解決方法

前兩天在整合微信小程式前後端的過程中,出現了中文 亂碼。解決方法如下:前端的程式碼:wx.request({ url: '.........', data: { ....... }, header: {'Content-T

關於java程式碼提交HTTP POST請求中文亂碼解決方法 HttpURLConnection與HttpClient比較和使用示例

首先說明下這些只是根據我工作常用經驗的總結,可能不一定完全對,也不一定全面,但卻是最通用的。 JAVA裡HTTP提交方式 httpurlconnection:jdk裡自帶的 httpclient:apache開源專案 resttemplate:spring提供,本質就是封裝了httpclie

關於java代碼提交HTTP POST請求中文亂碼解決方法

code post請求 post coder encode nec jdk 本質 cli 首先說明下這些只是根據我工作常用經驗的總結,可能不一定完全對,也不一定全面,但卻是最通用的。 JAVA裏HTTP提交方式 httpurlconnection:jdk裏自帶的 http

Get,Post請求中文亂碼問題有效解決方法

對於做Java WEB專案同學來說,中文亂碼問題是一個經常遇到而又非常頭痛的問題,而最容易出現亂碼的環節就是在瀏覽器向伺服器傳送請求的過程,至於出現亂碼的原因不是本文的關注的重點,想了解的朋友可以參考 本文主要介紹如何有效解決web請求中的亂碼問題,其實解決方法有很多種,不

關於get和post請求中文亂碼解決辦法

web專案中經常遇到中文亂碼問題,本文簡單記錄遇到中文亂碼問題時的解決方案,程式碼如下: <form class="form-horizontal" role="form" action="${pageContext.request.contextPath}/add

AJAX POST資料中文亂碼解決

前端使用encodeURI進行編碼 var param = encodeURI(param); $.ajax({ url: 'url', methodtype: "POST", async: false,

對實際專案中的get請求中文亂碼以及post請求中文亂碼解決方案

1.解決post請求的中文亂碼問題 (1)在專案中web.xml配置檔案中加入: <filter> <filter-name>CharacterEncodingFilter&

關於Get,Post請求中文亂碼問題有效解決方法

對於做Java WEB專案同學來說,中文亂碼問題是一個經常遇到而又非常頭痛的問題,而最容易出現亂碼的環節就是在瀏覽器向伺服器傳送請求的過程,至於出現亂碼的原因不是本文的關注的重點,想了解的朋友可以參考 本文主要介紹如何有效解決web請求中的亂碼問題,其實解決方法有很多種,

如何解決POST請求中文亂碼問題,GET的又如何處理呢?

在web.xml中加入:<filter> <filter-name>CharacterEncodingFilter</filter-name> <

解決springmvc返回json中文亂碼

jackson ons con handle json 額外 adapter blog 設置 [email protected]/* */,這個問題上網找了很久,發現答案真是人雲亦雲,奉上我的解決方案: 解決方案一:需要導入 jackson-core-asl-1

Android Studio解決Java程序輸出中文亂碼

roc 中文 Coding str uil nbsp process option clas 經查閱資料,發現需要手動在build.gradle中添加代碼 //新版 tasks.withType(JavaCompile) { options.encoding = "UT

解決 Linux centos crt 中文 亂碼 問號

Linux centos crt 中文如何查看linux系統語言 echo $LANG一般顯示為en_US.UTF-8這也是系統默認的語言 查看是否有中文語言包 locale若沒有zh_CN.UTF-8相關內容,說明沒有安裝語言包, 安裝方法如下(centos或者RedHat系列,debian使用ap

解決node裏面的中文亂碼

學習 後來 啟動 head 資料 代碼 html har count 今天咋學習node的時候,跟著視頻裏在擼代碼,但是卻出現了中文亂碼的情況,視頻中的谷歌瀏覽器可能和我的版本不一致,先看代碼吧: ‘use strict‘; const http = require

解決CentOS7 Confluence6 PPT中文亂碼問題

服務器 sha 查找 catalina .com 執行 亂碼問題 pts centos 解決CentOS7 Confluence6 PPT中文亂碼問題 Confluence6部署關於Confluence6的部署及平臺基本信息,請參考:CentOS7 Confluence6

SpringBoot解決redirect參數中文亂碼問題

接收 test ati 編碼格式 tst int 發送 字符 sts 代碼如下:&name=" + new URLEncoder().encode(user.getName(), Charset.defaultCharset()) ;只需要將中文參數encode一下