① 在使用ssh框架中,出現了 中文亂碼問題 ,怎麼解決
解決亂碼幾小點:
1.配置過濾器,可以選擇自己寫,既然你用的SSH框架就更簡單了,直接用Spring的過濾器,web.xml里配置一下即可。
2.Jsp頁面設置編碼,所有地方都要相同,我習慣用GBK
<%@ page contentType="text/html;charset=GBK" %>
也可以使用HTML的頁面編碼配置
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
3.配置Tomcat(我們用,別的伺服器另找)編碼
在server.xml中配置,如:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK" />
4.如果還出現亂碼,只能用這招了,我很少用
new String(s.getBytes("ISO-8859-1"),"GBK")
一般用Form提交前兩種方式就不會出現亂碼,用get請求,在url後追加中文參數前兩種不管用,需配置Tomcat或者第四種,重新編碼
② 如何解決SSH Secure Shell Client中文亂碼
方案一:修改linux伺服器的環境變數
使用linux,在用戶根目錄下有一個.bash_profile配置文件,該配置只對當前用戶有效.若對所有的用戶有效,修改/etc/profile文件
使用ls -a命令可以查看到該文件.使用vi編輯器打開該文件後,在其中加入
lang=zh_cn.gb2312
export lang
即可正常顯示中文.更改.bash_profile配置文件後,該文件內容如下:
# .bash_profile
# get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# user specific environment and startup programs
path=$path:$home/bin
lang=zh_cn.gb2312
export path
export lang
unset username
方案二:或使用其他遠程登陸軟體,並修改配置,將字元編碼設置為utf-8。
ps:遠程登陸軟體 命令行界面putty,cterm,securecrt,含ftp功能的有filezilla,secure shell client,圖形界面的有xming,xshell,xmanager等
下面以putty和securecrt為例。
修改securecrt設置:選項(options)->會話選項(session options)->外觀(appearance)->字元(character),選擇utf-8。
putty選擇配置窗口左邊的windows—— translation,在右邊的 received data assumed to be in which character set 下拉列表中選擇「utf-8」
③ 如何解決ssh連接CentOS後中文顯示亂碼
我們知道我們的操作系統是無所謂中文版和英文版的,無論是windows還是Linux,系統發行的時候全世界都是一樣的內核,系統呈現給我們是英文還是中文,完全取決於你選擇的語言包。不同國家的人在安裝使用的時候選擇屬於自己國家的語言包,應用程序中的語言也不是寫死的,它根據系統的設置來調用相關的語言,所以,一個應用程序寫出來不經過修改,全世界不同國家的用戶都可以以母語界面使用它,這就事所謂的internationalization(國際化),簡稱 i18n。這也是未來軟體的發展趨勢。
那麼,如果我在系統中安裝了不同的語言包和不同的字體,系統是如何判斷我所要的語言界面並調用相關的字體的呢?系統中那些文件和變數在控制這些呢?
可以使用locale命令,查看當前系統默認採用的字元集
# locale
在redHat/CentOS系統下,記錄系統默認使用語言的文件是/etc/sysconfig/i18n,如果默認安裝的是中文的系統,i18n的內容如下:
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
其中LANG變數是language的簡稱,稍微有英語基礎的用戶一看就看出來這個變數是決定系統的默認語言的,即系統的菜單、程序的工具欄語言、輸入法默認語言等。SYSFONT是system font的簡稱,決定系統默認用哪一種字體。SUPPORTED變數決定系統支持的語言,即系統能夠顯示的語言。需要說明的是,由於計算機起源於英語國家,因此,不管你把這些變數設置成什麼,英語總是默認支持的,而且不管用什麼字體,英文字體總包含在其中。
那麼如何顯示中文呢?
1、系統必須安裝中文語言包才行
# yum -y groupinstall chinese-support
2、僅僅有語言包還不行,我們得設置相應的字元集
## 臨時生效
# export LANG="zh_CN.UTF-8" # 設置為中文
# export LANG="en_US.UTF-8" # 設置為英文,我比較喜歡這樣 export LANG=C
## 永久生效, 編輯/etc/sysconfig/i18n(最好reboot一下)
LANG="zh_CN.UTF-8"
## 或者,編輯 /etc/profile配置文件,添加如下一行
export LANG="zh_CN.UTF-8"
# 重新載入
# . /etc/profile
## 查看當前的字元集
# echo $LANG
好了,經過上面的設置,在終端上應該能夠顯示中文了。
3、ssh遠程終端亂碼
如果SSH終端還是亂碼,那麼我們也需要對終端軟體的編碼進行設置。
Xshell:
SecureCRT:
4、如果終端還是中文亂碼腫么辦?
對SSH軟體進行設置,選擇一個支持中文的字體。
Linux <---> Windows 之間相互需要修改文件,然後亂碼。
拷貝上去後經常發現中文顯示亂碼。。原因是Windows中默認的文件格式是 GBK(gb2312),而Linux一般都是UTF-8。比較繁瑣的方法是在windows下用程序把內容轉換為utf-8編碼格式的,但是相當麻煩, 而且遇到一個文件轉一回。下面介紹一下,在Linux中如何一勞永逸的解決這個問題,查看文件的編碼及如何進行對文件進行編碼轉換。
為了避免這些問題,最好的方式就是統一編碼。對於文本文件,都統一保存為UTF8格式,windows下面不要使用word,記事本,推薦Sublime text, 或者notepad++。
④ 今天剛接觸SSH,終端下怎樣使用中文 裡面還出現亂碼,謝謝__
SSH亂碼主要是由於文字編碼的問題,Windows使用的是GB2312編碼,大多數linux系統支持的是UTF-8編碼,而遠程登陸時使用的是本地編碼,所以會出現亂碼的問題。
方案一:修改linux伺服器的環境變數
1、在用戶根目錄下有一個.bash_profile配置文件,該配置只對當前用戶有效。若對所有的用戶有效,用vi命令修改/etc/profile文件。
2、vi /etc/profile
LANG=zh_CN.GB2312 export LANG
即可正常顯示中文.更改 .bash_profile 配置文件後,該文件內容如下:
#.bash_profile#Getthealiasesandfunctionsif[-f~/.bashrc];then.~/.bashrcfi
#=$PATH:$HOME/binLANG=zh_CN.
方案二:或使用其他遠程登陸軟體,並修改配置,將字元編碼設置為UTF-8。
1、修改SecureCRT設置:選項(Options)->會話選項(Session Options)->外觀(Appearance)->字元(Character),選擇UTF-8。⑤ SSH Secure Shell Client鏈接centos後文件夾顯示中文亂碼,不是輸出中文亂碼,怎麼解決
使用linux,在用戶根目錄下有一個.bash_profile配置文件,該配置只對當前用戶有效.
使用ll -a命令可以查看到該文件.使用vi編輯器打開該文件後,在其中加入
LANG=zh_CN.GBK
export LANG
即可正常顯示中文.更改.bash_profile配置文件後,該文件內容如下:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
LANG=zh_CN.GBK
export LANG
export PATH
unset USERNAME
⑥ 想解決 SSH secure shell client 界面中文亂碼的問題,百度好多都是說在 /e
可以利用nohup命令啟動程序。
例如nohup
./*****
&;
至於把程序調出來可先用jobs命令查看所有後台運行的程序的任務id,
然後利用fg
%id
把任務號為id的程序調到前端。
注意:id為用jobs查看到程序的任務號,而不是程序的進程號。
⑦ 在使用ssh框架中,出現了 中文亂碼問題 怎麼解決
1.配置過濾器,可以選擇自己寫,既然你用的SSH框架就更簡單了,直接用Spring的過濾器,web.xml里配置一下即可。
2.Jsp頁面設置編碼,所有地方都要相同,我習慣用GBK
<%@ page contentType=text/html;charset=GBK %
也可以使用HTML的頁面編碼配置
<meta http-equiv=Content-Type content=text/html; charset=GBK
3.配置Tomcat(我們用,別的伺服器另找)編碼
在server.xml中配置,如:
<Connector port=8080 maxHttpHeaderSize=8192
maxThreads=150 minSpareThreads=25 maxSpareThreads=75
enableLookups=false redirectPort=8443 acceptCount=100
connectionTimeout=20000 disableUploadTimeout=true URIEncoding=GBK /
4.如果還出現亂碼,只能用這招了,我很少用一般用Form提交前兩種方式就不會出現亂碼,用get請求,在url後追加中文參數前兩種不管用,需配置Tomcat或者第四種,重新編碼
⑧ 怎麼設置 SSH secure shell client 字元集
這是SSHSecureShellClient多年未解決的短板,要求客戶端和伺服器端都要『UTF-8』編碼,Windows中文版的編碼是非UTF-8。zh_CN.UTF-8是UTF編碼的中文語言環境。
Windows使用的是GB2312編碼,大多數linux系統支持的是UTF-8編碼,而遠程登陸時使用的是本地編碼,所以會出現亂碼的問題;現有幾種解決方案:
方案一:修改linux伺服器的環境變數
使用linux,在用戶根目錄下有一個.bash_profile配置文件,該配置只對當前用戶有效.若對所有的用戶有效,修改/etc/profile文件
使用ls -a命令可以查看到該文件.使用vi編輯器打開該文件後,在其中加入
LANG=zh_CN.GB2312
exportLANG
即可正常顯示中文.更改.bash_profile配置文件後,該文件內容如下:( 我使用的是這個方法 !)
方案二:或使用其他遠程登陸軟體,並修改配置,將字元編碼設置為UTF-8。
PS:遠程登陸軟體 命令行界面putty,Cterm,SecureCRT,含FTP功能的有Filezilla,Secure Shell Client,圖形界面的有Xming,XShell,Xmanager等
下面以Putty和SecureCRT為例。
修改SecureCRT設置:選項(Options)->會話選項(Session Options)->外觀(Appearance)->字元(Character),選擇UTF-8。
putty選擇配置窗口左邊的Windows—— Translation,在右邊的 Received data assumed to be in which character set 下拉列表中選擇「UTF-8」
⑨ ssh secure shell client亂碼問題。
將編碼改為utf-8即可
⑩ ssh secure shell client中文亂碼
一般的windows默認編碼為GBK,而要遠程的linux的一般為utf-8編碼。
原因是此工具是gbk編碼,而Linux是utf-8,此工具無法修改客戶端編碼,所以去Linux系統下修改系統編碼,進入cd /etc/sysconfig/i18n,用vim編輯器打開修改為GBK
然後重啟SSH Secure Shell,就可以正常顯示中文了