java上傳檔案到linux上 防止檔名中文亂碼
在windows系統下 預設編碼是GBK/GB2312的編碼格式,linux上預設為utf-8的編碼格式。
當我們在windows上上傳檔案的時候,JVM會根據本身的作業系統所預設的編碼格式 編譯成unicode位元組陣列,進行儲存。
然後解析的時候也會根據本身的作業系統預設的編碼格式進行解析。
上傳檔案中文亂碼時: JVM編譯成gbk格式的unicode位元組陣列,然後解析成utf-8的格式,所以導致亂碼。
亂碼的本質是: 字串原本的編碼格式 和 讀取解析的編碼格式不一致 所造成的 。
在java中使用 new String(bytes,charset); 方法可以解決亂碼問題。
bytes :表示編譯採用什麼格式進行編譯 ,charset : 表示使用什麼格式進行解析
在windows上 如:
String str="我很帥哦";
System.out.println(new String(str.getBytes(),"gbk")); 是正確的
System.out.println(new String(str.getBytes("utf-8"),"utf-8")); 也是正確的
System.out.println(new String(str.getBytes("gbk"),"utf-8")); 是錯誤的
那麼 如何將GBK 轉化成utf-8呢? (實際上是unicode轉成utf-8)
byte[] utfbytes=str.getBytes("utf-8");
String strFinsh=new String (utfbytes,"utf-8");
簡寫:System.out.println(new String(str.getBytes("utf-8"),"utf-8"));
utf-8轉成gbk 也是一樣的
new String(str.getBytes("gbk"),"gbk");
getBytes(charset)
在JDK中這樣描述的:Encodes this String into a sequence of bytes using the named charset, storing the result into a new byte array.
相關推薦
java上傳檔案到linux上 防止檔名中文亂碼
在windows系統下 預設編碼是GBK/GB2312的編碼格式,linux上預設為utf-8的編碼格式。 當我們在windows上上傳檔案的時候,JVM會根據本身的作業系統所預設的編碼格式 編譯成unicode位元組陣列,進行儲存。 然後解析的時候也會根據本身的作業系統預
java圖片上傳-檔案/圖片上傳到七牛
java圖片上傳-檔案(圖片)上傳到七牛 一、在配置檔案中引入依賴(注:七牛開發者url:https://developer.qiniu.com/kodo) <-- 引入依賴 --> <dependency> <
Python下ftp上傳檔案linux伺服器
模組介紹: 1 from ftplib import FTP 2 ftp = FTP() #設定變數 3 ftp.set_debuglevel(2) #開啟除錯級別2 顯示詳細資訊 4 ftp.connect("IP", "port") #連線ftp, IP和埠
Java Web中使用JSPSmartUpload控制元件實現檔案的上傳和下載(解決了中文亂碼問題)(JSP頁面採用GBK編碼)
package edu.uestc.updown; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletException
java 單個上傳檔案, 批量上傳檔案,單個下載,批量打成zip壓縮包下載檔案(如果不能接受httpsevletrequest請求的檔案可以使用MultipartFile[] files)
package net.wkang.intelligent_audit.hospitalization.utils; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor
用pscp命令將windows上的檔案上傳到linux上
1.pscp -P 埠號 檔案位置 伺服器:目標位置 提示拒絕設定環境變數。 2.這時開啟putty設定如下: 將紅色圈出的變數刪除。 3.再輸入步驟1中的命令 到putty中查詢是否已上傳 可以看到test.txt已上傳到linux系統下
安裝FTP 將本地專案或者檔案上傳到linux上
安裝FTP 將本地專案或者檔案上傳到linux上 1-搭建FTP伺服器 FTP是指File Transfer Protocol(檔案傳輸協議),主要實現兩個功能:上傳,將本地檔案上傳到遠端計算機; 1.1. 掛載光碟機 mkdir /mnt/cdrom m
SpringCloud 上傳檔案,經過Zuul,中文檔名亂碼解決辦法
網上比較常見的解決方案是在uri前加/zuul 使用zuul的servlet繞開springmvc來解決上傳檔案亂碼問題 比如:原來你上傳檔案的路徑是/api/file/upload, 則你可以通過uri /zuul/api/file/upload來呼叫介面上傳檔案
CKEditor+CKFinder for java (上傳檔案、上傳視訊、新增行距編輯等等)
CKEditor 、CKFinder 相互融合要注意的細節的確很多,因為功能的強大和介面的優勢,花費一些時間整合還是有意義的。 下載外掛: CKEditor : http://ckeditor.com/
在Windows上通過Xshell將文件上傳到Linux上
es2017 如果 programs ip地址 主機 ica /usr rep 用戶名 步驟: 一、下載Xshell 二、在Linux主機上,安裝上傳下載工具包rz及sz 如果不知道你要安裝包的具體名稱,可以使用yum provides */name 進行查找系統自帶軟
jenkins---windows上構建項目jar包上傳到linux上
img 成功 定向 pan txt con 重定向命令 term tails 2018年02月05日 11:02:17 閱讀數:851 1,怎麽構建jar包可以參考下此鏈接:http://blog.csdn.net/zk0920zk/article/detai
美化上傳檔案框(上傳圖片框)
//initfunction initFile(fo){var divFile = document.createElement("div");divFile.className="file"; fo.parentNode.insertBefore(divFile,fo);divFile.appendChil
vue-resource+iview上傳檔案取消上傳
vue-resource+iview上傳檔案取消上傳 子元件: <template> <div class="upload-area-div"> <Upload :type="upType" class="upload-area"
在Windows下生成的shell文件在上傳到Linux上發現無法執行
code header sed 循環 發現 win localhost 沒有 不一致 為了批量生成shell文件,我在Windows下用knime循環生成一批shell文件,在上傳到Linux上執行時發現報錯: [ft@localhost Stock]$ ./f_wdt_
retrofit2 上傳進度回撥與 Interceptor衝突引起上傳檔案資料上傳兩次
原因:在開發過程中,遇到過上傳檔案資料上傳兩次的問題,發現是在OkHttp里加入了預設的HttpLoggingInterceptor引起的。在下面程式碼呼叫了wirteTo方法,導致會再次執行UploadFileRequestBody.writeto方法重複寫入資料。/*
h5特性formdata帶引數上傳檔案,上傳到node端
html: <input type="file" id="addpic" multiple="multiple"/> <button id="uploadpic" style="
fastDFS中使用php上傳檔案 -- http上傳與下載圖片
CleverCode研究完fastDFS後,嘗試著使用php上傳檔案到fastdfs。 1 fastDFS安裝 fastdfs分散式架構配置參考:http://blog.csdn.net/clevercode/article/details/52267080。 fa
解決部署在Linux下的java程式上傳檔案,檔名中文亂碼
找了一圈資料,把centos的字符集、tomcat中server.xml中的“URIEncoding”都更改為UTF-8之後還是不成功。最終在tomcat/bin/catalina.sh檔案中增加了“export LANG=zh_CN.UTF-8”,成功解決了問題。
java上傳檔案到 linux 下的 tomcat 檔案伺服器
linux 安裝 tomcat 伺服器,我安裝的是 tomcat 7,未測試其他版本 linux 安裝 tomcat 連線 https://mp.csdn.net/mdeditor/83987640# 本次使用的阿里雲 linux os7 , tomcat 7 + ssm 1、修改目
Windows 的java客戶端實現上傳檔案到Linux的Hadoop叢集上(注意ip和埠是否一致)
我這幾天一直在學大資料,處於入門階段,然後老師的視訊中教學有用windows的java客戶端上傳檔案到Linux的Hadoop叢集, 但是這邊出BUG了一直上傳不上去,執行程式後一直沒反應。。。。弄了幾天(雖然這幾天在做前端專案~~~) 然後問群裡的大佬,他們說應該是ip和埠