1. 程式人生 > >關於source insight上中文亂碼的問題

關於source insight上中文亂碼的問題

         使用source insight檢視原始碼非常方便,這一點毋庸置疑。但是在中文的輸入和顯示上又總是讓人很煩。個人經驗是在ubunutu下面,source insight不支援中文輸入,然後原始檔中的中文註釋在source insight中開啟的時候經常顯示亂碼。這裡,針對source insight的中文顯示問題的解決方案做個總結。

         在此之前,必須明確一點,source insight不支援utf-8編碼,預設編碼格式為ansii碼。所以,解決問題的思路就是將非ansii碼編碼格式的檔案轉換成source insight預設支援的ansii格式。

一、對於單檔案

1.使用記事本開啟非ANSI格式的原始碼檔案,另存為,在儲存選項對話方塊中,在編碼格式一欄中發現是UTF-8,選擇ANSI一項,儲存,再用Source Insight開啟就可以正常顯示中文註釋了。

2.將檔案用ultraEdit32開啟,選擇 檔案->轉換->UTF-8到ANSI, 然後儲存。重新用source insight開啟就好

了。

3.藉助Linux下的iconv命令

iconv -f utf-8 -t  gb18030 file1.txt -o file2.txt

4.藉助java的native2ascii工具

二、批量檔案轉換

1.windows下可以通過寫bat指令碼,應用native2

ascii來批量處理(前提是系統中配好JDK)

參考:http://blog.sina.com.cn/s/blog_4e7453df0101ijch.html

2.linux下可以直接寫指令碼,應用iconv命令來批量處理

下面附上指令碼

完整版:

#!/bin/sh 
#
convertCodeFilePath=$1 
fromCode=$2 
toCode=$3 
  
for i in {1..1} 
do
  [ -f $convertCodeFilePath ] 
  if [ $? -eq 0 ] 
  then
    iconv -f $fromCode -t $toCode -c -o $convertCodeFilePath $convertCodeFilePath 
    if [ $? -ne 0 ] 
    then
      echo $convertCodeFilePath "=>" convert code failed.      
    else
      echo $convertCodeFilePath "=>" convert code success. 
    fi
    break; 
  fi
    
  [ -d $convertCodeFilePath ] 
  if [ $? -ne 0 ] 
  then
    break; 
  fi
      
  dir=`ls $convertCodeFilePath | sort -d` 
  
  for fileName in $dir
  do
    fileFullPatch=$convertCodeFilePath/$fileName 
      
    fileType=`echo $fileName |awk -F. '{print $2}'` 
      
    [ -d $fileName ] 
    if [ $? -eq 0 ] 
    then
      continue
    fi
      
    if [ $fileType != 'sh' ] && [ $fileType != 'py' ] && [ $fileType != 'xml' ] && [ $fileType != 'properties' ] \ 
    && [ $fileType != 'q' ] && [ $fileType != 'hql' ] && [ $fileType != 'txt' ] 
    then
      continue
    fi
      
    iconv -f $fromCode -t $toCode -c -o $fileFullPatch $fileFullPatch 
    if [ $? -ne 0 ] 
    then
      echo $fileName "=>" convert code failed. 
      continue
    else
      echo $fileName "=>" convert code success. 
    fi    
  done
done
使用方法:

convertCode.sh/home/sam/data  utf-8  gb18030

精簡版:

#!/bin/bash
  
if [ "$#" != "2" ]; then
  
  echo "Usage: `basename $0` dir filter"
  
  exit
  
fi
  
dir=$1
  
filter=$2
  
echo $1
  
for file in `find $dir -name "$2"`; do
  
  echo "$file"
  
  iconv -f gb18030 -t utf8 -o $file $file
  
done
使用: cd /home/sam/data  ~/iconv_shell.sh  ./  *hpp ~/iconv_shell.sh  ./  *cpp



相關推薦

關於source insight中文亂碼的問題

         使用source insight檢視原始碼非常方便,這一點毋庸置疑。但是在中文的輸入和顯示上又總是讓人很煩。個人經驗是在ubunutu下面,source insight不支援中文輸入,然後原始檔中的中文註釋在source insight中開啟的時候經常顯示

source insight 4 中文亂碼問題

Source Insight中文註釋為亂碼解決辦法我網上查了一堆解決辦法,但是都是2017年以前的,並且都是針對於source insight 3.5及以下版本的解決方案,軟體版本都到4.0了,應該有新方法出現。———————————————————————————————

Source Insight顯示中文亂碼解決方法

1、Document Options -> Screen Fonts -> 字型設定為新宋體(等寬)或者其他支援中文的字型,字符集選GB2312 2、Preferences -> Syntax Formatting -> Use onl

TeamTalk在Source Insight顯示中文亂碼

        TeamTalk原始碼在Source Insight中顯示中文亂碼,因為TeamTalk是UTF-8格式,而Source Insight暫時還不支援UTF-8中文格式。         今天在網上百度了好幾種方法,找到了一種批量轉換原始碼檔案格式的方法。其中

source Insight 解決中文註釋亂碼問題

繼上次SI多標籤外掛之後,因為公司內部編碼改為utf8編碼,因此特意做了這個Source Insight 3.X utf8外掛. 下載地址:[點我] 安裝說明: 解壓msimg32.dll sihook.dll siutf8.dll 到Source Insight 3.X安裝目錄 msimg32.dll

source insight totalcmd 中文目錄

ech %x echo utf-8 star for pps .bat tar @echo off for /F "usebackq delims=" %%a in (`echo %1^^^|iconv -f utf-8 -t gb18030`) do ( set xxxx

awt.font在centos中文亂碼的問題

font awt centos 現在有需求生成一個二維碼,並且有一段文本說明,但是使用awt.font來生成中文時,一直存在亂碼的問題。網上的解決辦法有幾種,但是在centos上親測有用的就是如下的方法。Java代碼如下:new java.awt.Font("宋體",Font.BOLD,13);1

source insight UTF-8 亂碼解決

source insight  UTF-8 亂碼解決: Replace Pioneer -> tools -> batch runner -> search files -> encode convert

Source insight修改samba共享ubuntu核心源程式檔案彈出"Confirm by typing ‘yes' below"、"has been changed outside of

在用source insight閱讀編寫核心驅動程式時,只要儲存修改,就會彈出以下對話方塊 很煩人,在網上找了不少資料,看了source insight的更新日誌,才猜測到應該是source insight的更新問題,解除安裝後,我找了新版本的重新安裝,安裝完後就是如

windows7使用Source insight遠端修改ubuntu共享核心原始碼

由於本人閱讀喜歡使用source insight。前段時間接觸了linux核程式碼,而這份程式碼只能放在ubuntu伺服器上編譯,剛開始的時候是在windows上修改,完了之後再copy到伺服器上去編譯,這樣很麻煩,效率也很低,經過網上搜索和向別人請教之後,終於可以正常使用

Linux下利用NFS和Samba在source insight快速開發應用程式

首先,在搭建這個環境之前,我們需要了解一下NFS-samba-tftp之間的區別,這個很多做嵌入式移植的朋友應該是再熟悉不過了。不過很少有人深究他們到底有什麼區別?這裡我也不講深入的本質,簡單的區別一下他們。這裡我就引用一下網上一些文章吧。 NFS是SUN Microsys

Source Insight 中文註釋為亂碼解決辦法(完美解決,一鍵搞定)【轉】

ash save sys lan sim edit ext pan character 轉自:http://blog.csdn.net/bjarnecpp/article/details/70174752 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 S

Source Insight 中文註釋為亂碼解決辦法(完美解決,一鍵搞定)

我從網上查了一堆解決辦法,但是都是2017年以前的解決方案,並且都是針對於source insight 3.5及以下版本的,目前SI軟體版本都到4.0了,應該有新方法出現了。 —————————————————————————————————————— 乾貨:Source

source insight配置(自動排版,多標籤顯示,註釋,刪除中文亂碼)

一.下載ASTYLE_2.0(自動排版) 1,http://pan.baidu.com/s/1nu5Apdv 2,開啟你的SourceInsight, 選擇選單“Options–>Custom Commands–>Add”, 輸入Artistic

Source Insight中文註釋為亂碼解決方案

我從網上查了一堆解決辦法,但是都是2017年以前的解決方案,並且都是針對於source insight 3.5及以下版本的,目前SI軟體版本都到4.0了,應該有新方法出現了。 —————————————————————————————————————— 乾貨:Source

ubuntu14.04中 gedit 註釋能顯示中文,而source insight中顯示為亂碼的解決辦法

1.亂碼顯示情況: 2.用gedit開啟檔案,並用ctrl+shift+s(另存為),其中charactor coding選為chinese simplified(GB2312); 2.修改個檔名, 並點選save. 3.用source insight開啟,看看是不是不

使用Source Insight時,中文註釋亂碼解決方式

前幾天剛剛下載安裝了Source Insight(一個IDE,可以生成函式呼叫樹狀圖),匯入之前寫好的C檔案發現出現了中文亂碼,以下為我處理問題的步驟:1. 按照網上的很多部落格,在Source Insight中 Options->Preferences->Fil

Source Insight 中文亂碼,用iconv轉碼,解決中文亂碼問題_20150930更新

   批處理配合iconv轉碼工具 ,解決Source Insight 中文亂碼問題.  Source Insight不支援uft-8編碼的文字, 需要轉為ANSI 動動手 給 Source Insight 加個轉碼功能    Source Insight

解決source insight 3.5 中文顯示為亂碼問題

問題: 安裝後source insight 3.5後檢視專案程式碼出現了亂碼,如下圖: 解決方案: 下載如下連結提供的壓縮包,把壓縮包中的檔案複製到source insight 3.5所在的安裝目錄中

Source Insight v4.0.93 中文亂碼解決辦法

選單 Options -> Preferences 標籤 Files 最下面的 “Default encoding” 改成 System Default(Windows ANSI) 或 Chinese Simpli