當前位置:首頁 » 操作系統 » javalinux亂碼怎麼解決

javalinux亂碼怎麼解決

發布時間: 2022-04-04 17:54:37

javalinux下創建文件,中文文件名為亂碼

JBoss4.0.5使用的是tomcat5,而tomcat的默認字元集是ISO-8859-1.找到JBoss的根目錄下名 為\%JBoss4.0.5%server\default\deploy\jbossweb-tomcat55.sar的文件夾.
修改server.xml文件.

修改方法,找到<Connector port="8080"
......>默認是8080埠,在後面加入URIEcoding='UTF-8',字元集根據頁面進行相應的設置,我的整個項目是使用UTF-
8字元集(包括UTF-8).
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
zip包是在windows環境下打的壓縮包,通過java控制在linux環境下解壓之後,解壓出來的文件和文件夾中的中文文件名是亂碼,請問應如何解決

⑵ 使用java連接linux,執行shell命令返回值有亂碼,怎麼解決

packagecom.pasier.xxx.util;

importjava.io.IOException;
importjava.io.InputStream;
importjava.nio.charset.Charset;

importorg.slf4j.Logger;
importorg.slf4j.LoggerFactory;

importch.ethz.ssh2.ChannelCondition;
importch.ethz.ssh2.Connection;
importch.ethz.ssh2.Session;
importch.ethz.ssh2.StreamGobbler;

publicclassRmtShellExecutor{

privatestaticfinalLoggerLOG=LoggerFactory.getLogger(RmtShellExecutor.class);

privateConnectionconn;
privateStringip;
privateStringusr;
privateStringpsword;
privateStringcharset=Charset.defaultCharset().toString();

privatestaticfinalintTIME_OUT=1000*5*60;

publicRmtShellExecutor(Stringip,Stringusr,Stringps){
this.ip=ip;
this.usr=usr;
this.psword=ps;
}

privatebooleanlogin()throwsIOException{
conn=newConnection(ip);
conn.connect();
returnconn.authenticateWithPassword(usr,psword);
}

publicStringexec(Stringcmds)throwsIOException{
InputStreamstdOut=null;
InputStreamstdErr=null;
StringoutStr="";
StringoutErr="";
intret=-1;

try{
if(login()){
Sessionsession=conn.openSession();
session.execCommand(cmds);
stdOut=newStreamGobbler(session.getStdout());
outStr=processStream(stdOut,charset);
LOG.info("caijl:[INFO]outStr="+outStr);
stdErr=newStreamGobbler(session.getStderr());
outErr=processStream(stdErr,charset);
LOG.info("caijl:[INFO]outErr="+outErr);
session.waitForCondition(ChannelCondition.EXIT_STATUS,TIME_OUT);
ret=session.getExitStatus();

}else{
LOG.error("caijl:[INFO]ssh2loginfailure:"+ip);
thrownewIOException("SSH2_ERR");
}

}finally{
if(conn!=null){
conn.close();
}
if(stdOut!=null)
stdOut.close();
if(stdErr!=null)
stdErr.close();
}

returnoutStr;
}

privateStringprocessStream(InputStreamin,Stringcharset)throwsIOException{
byte[]buf=newbyte[1024];
StringBuildersb=newStringBuilder();
while(in.read(buf)!=-1){
sb.append(newString(buf,charset));
}
returnsb.toString();
}

publicstaticvoidmain(String[]args){

Stringusr="root";
Stringpassword="12345";
StringserverIP="11.22.33.xx";
StringshPath="/root/ab.sh";

RmtShellExecutorexe=newRmtShellExecutor(serverIP,usr,password);

StringoutInf;

try{
outInf=exe.exec("sh"+shPath+"xn");
System.out.println("outInf="+outInf);
}catch(IOExceptione){
e.printStackTrace();
}
}

}

⑶ java在linux系統下文件夾出現中文亂碼的問題

問題描述:
linux的默認字元編碼是utf-8,在linux上存的是中文名的文件,但是用java讀出來就是亂碼,全是??????然後我通過:new
String(files[i].getName().getBytes("GB2312"),"UTF-8");這樣處理一下,中文文件名全變成了?????,應該怎麼轉碼才能獲取中文?
問題答案:
Java
中的字元編碼默認是Unicode
用new
String(files[i].getName().getBytes("UTF-8"),"UTF-8");試下看對我有幫助
用utf8格式上傳,然後再用utf8格式下載就好了,但是伺服器上存的是亂碼的,遍歷出來是中文的。

⑷ java在linux下創建文件,中文文件名為亂碼。請問這個問題是怎麼解決的,謝謝~

修改linux的編碼方式。或者不要命名中文。最好是不要命名為中文

⑸ 如何解決Java項目中的中文亂碼

  1. 設置工作空間的編碼:

    編輯器的編碼會影響到所有的項目中的字元的顯示,可以說是作用最為廣泛的設置,每一個項目都會受到這個設置的影響。點擊菜單欄中的窗口(Window)— —選項(Preferences)。

    點擊常規(General)— —工作空間(Wordspace),然後在右側的文本文件編碼格式(Text file encoding)中選擇你想要設置的編碼格式,系統默認的格式為GBK。

  2. 設置項目的編碼:

    如果其他的項目中不存在亂碼問題,只是個別項目顯示時出現亂碼,那麼我們不需要設置工作空間的編碼,只需要修改項目的編碼即可。

    選中項目後,右鍵點擊,在彈出的菜單中點擊屬性(Properties)。

    在彈出的屬性窗口中,選擇資源(Resource)— —點擊選擇Other(其他),然後選擇你想要的編碼格式。

  3. 設置單個文件的編碼:

    只是個別文件出現了亂碼,那麼設置個別文件的編碼格式就可以解決問題了。選中有亂碼的文件,然後點擊右鍵。

    在彈出的菜單中選擇屬性(Properties)。

    在彈出的屬性窗口中選擇資源,點擊Other(其他)後設置個別文件的編碼方式

⑹ java 讀取linux文件內容亂碼 但是在linux上查看文件是正常

選用正確的charset

⑺ 通過java控制linux環境下解壓文件夾後中文文件名是亂碼

將linux當前環境設置為中文環境即可。
修改/etc/sysconfig/i18n 文件
LANG="zh_CN.GB2312"

⑻ java web在Linux上傳輸的亂碼的求解

你本地和LINUX的編碼不一致所導致的亂碼
解決如下:
1、設置request的編碼 new String(request.getParameter("參數名").getBytes("iso-8859-1"), "gbk");
將默認的iso-8859-1轉為gbk 不行的話就多換幾種編碼
2、設置LINUX的編碼
命令行敲入:vi /etc/sysconfig/i18n 修改為以下內容
#LANG="zh_CN.UTF-8"
#SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
#SYSFONT="latarcyrheb-sun16"
#LANG="en_US.UTF-8"
#SUPPORTED="en_US.UTF-8:en_US:en"
#SYSFONT="latarcyrheb-sun16"
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
export LC_ALL="zh_CN.GB18030"
建議如上 不喜勿噴

熱點內容
c語言登陸界面 發布:2024-09-28 05:20:09 瀏覽:890
我的世界小本玩的伺服器的地址 發布:2024-09-28 05:19:26 瀏覽:649
雲伺服器開傳奇私服 發布:2024-09-28 05:19:22 瀏覽:134
360網盤不能上傳 發布:2024-09-28 05:18:51 瀏覽:754
對於編譯原理的學習 發布:2024-09-28 05:05:54 瀏覽:520
sql強制轉換 發布:2024-09-28 04:46:13 瀏覽:444
phpwithldap 發布:2024-09-28 04:34:44 瀏覽:592
手機怎麼給支付寶加密 發布:2024-09-28 04:20:52 瀏覽:693
怎麼機wifi密碼 發布:2024-09-28 04:19:25 瀏覽:777
win10安裝密碼怎麼設置 發布:2024-09-28 04:18:42 瀏覽:897