1. 程式人生 > >linux下 java 建立中文檔名亂碼問題

linux下 java 建立中文檔名亂碼問題

今天專案中遇到通過web上傳檔案到檔案系統時,中文檔名亂碼,一步步排查了http通訊過程中的編解碼(通過utf-8)都沒有發現問題。作業系統的預設字符集也是utf-8。 通過日誌列印System.getProperty(“file.encoding”)也是utf-8碼。。。。一時凌亂了!! 最後通過查資料,發現通過Java寫檔案時檔名編碼和System.getProperty(“sun.jnu.encoding”)有關,列印此環境屬性發現輸出竟然是ANSI的一種編碼,終於找到問題爆發點,通過在程式中設定System.setProperty(“sun.jnu.encoding”,”utf-8”)解決問題。

通過問題解決得出結論:sun.jnu.encoding 影響檔名的建立,而 file.encoding 則影響到檔案內容。

所以說,在我們使用 Java 處理中文檔案的時候,如果發現檔案的中文內容沒有亂碼,而檔案的中文名發生亂碼,我們就應當多考慮一下 sun.jnu.encoding 和 file.encoding 的區別了。

相關推薦

linux java 建立中文檔名亂碼問題

今天專案中遇到通過web上傳檔案到檔案系統時,中文檔名亂碼,一步步排查了http通訊過程中的編解碼(通過utf-8)都沒有發現問題。作業系統的預設字符集也是utf-8。 通過日誌列印System.getProperty(“file.encoding”)也是u

linuxFile.createNewFile(“中文檔名”) 亂碼問題

$ javap -verbose FileTest Compiled from "FileTest.java" public class FileTest extends java.lang.Object   SourceFile: "FileTest.java"   minor version: 0  

如何在Linux解壓中文檔名的壓縮包

最近我的一個同事傳給我一個很大的音樂壓縮檔案。其中的很多的資料夾和中文歌曲在Ubuntu下顯示如下: 當我通過解壓的方式把檔案解壓到我的Ubuntu桌面後,顯示的是很多的亂碼。我們該如何解決這個問題呢? 具體的解決辦法如下: 1)通過如下的命令,解壓我們的.zip

關於Linux解壓檔案檔名亂碼問題

#!/usr/bin/env python # -*- coding: utf-8 -*- # uzip.py   import os import sys import zipfile   print "Processing File " + sys.argv[1]   file=zipfile.ZipFi

linux部署專案,下載檔案時,中文檔名亂碼問題

本人在linux伺服器的tomcat下部署一個war包專案,但是裡面建立中文檔名檔案一直亂碼,經過多重測試後找到解決方案: 需要在Tomcat啟動的時候強制設定LC_ALL 環境變量 =zh_CN.UTF­8,同時設定上­Dfile.encoding=UTF­8,如下圖是本人使用守護程序啟動to

Java web專案Linux部署的中文亂碼問題

轉載:https://blog.csdn.net/qq_28039297/article/details/76686022 我們專案的開發是在windows下完成的。  然後匯出.sql資料庫檔案,並匯出war包,準備部署到linux下的tomcat伺服器上。  部署完成出現

Linux中文檔名亂碼問題的詳解

最近做的專案中,涉及Linux下生成中文檔名並壓縮打包下載亂碼問題,需要將生成的壓縮包檔案自定義重新命名(包括中文),問題來了,Linux下不支援中文的,所以會導致中文亂碼問題,網上找了幾天,都沒解決,現在終於給碼出來了,希望大家指出缺點。 首先,讓linux

linuxjava讀取檔名亂碼

linux下檔名亂碼的原因主要是編碼問題造成的。 一般在Windows機器上生成的檔名為GBK,通過ftp、CVS等方式傳輸到linux上,與linux的系統編碼UTF-8不相符,這樣就造成讀取的檔名亂碼,從而程式異常。 解決這個問題的最簡單的做法,調整JAVA執行環境下

記一次愚蠢的linux環境 nginx apache2 中文路徑亂碼問題 mediawiki中文檔名亂碼

1 使用winscp登入檢視發現檔名稱是中文 沒亂碼配置nginx apache無論什麼都不行,統統亂碼 網上的各種方法都試了 什麼配置charset Lang 等等,都不行場景:把本地檔案通過winscp上傳還是中文這到底怎麼回事?於是編寫java 放伺服器上 列印檔名稱,

Linuxjava程式碼log4j日誌輸出中文出現亂碼中文全部變成問號,解決辦法

問題描述: (1)log4j.xml和log4j.properties日誌輸出的編碼格式正常都設定為UTF-8 (2)cat命令獲取txt檔案,裡面的中文可以正常顯示 (3)log.***(info)中文全部出現亂碼 原因: linux本地設定的檔案編碼格式不是UT

linuxtar打包到windows解壓縮後中文檔名亂碼 用zip 或者 rar

主要原因是WINDOWS與LINUX對檔案系統字符集的處理方式是不相同的。zip和rar會記錄字符集,自動轉換,而tar不是跨平臺解壓縮的。比如 “中國.txt”,utf-8下編碼是e4b8ade59bbd,tar裡面記錄的是e4b8ade59bbd.tar,然後gbk下中

LinuxJava中文字型不顯示(解決影象中文亂碼問題)

在Java中可以使用如下判斷支援的字型 GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironm ent();String[] fontFamilies = ge.getAvailable

linux下載的zip檔案解壓之後中文檔名亂碼

我在下載一些檔案的時候,我的ubunt 14.04預設按照zip檔案給我打包下載的,但是下載下來之後,發現解壓之後我的中文檔名先試試的都為亂碼,後來看了其他部落格博主的一些解決方法,發現這麼一個好的方法,親試OK的。 第一步 首先安裝7zip和convmv(如

linuxjava中的icepdf轉img中文亂碼

專案在win10下是正常執行的,但是放到linux下Pdf轉的IMG中中文全部亂碼:解決方法:到C:\Windows\Fonts 下拷貝自己想要的字型在linux下的 /usr/share  下找到fonts資料夾,如果沒有找到,那就新建。進入fonts目錄,再新建資料夾,名

Java ZIP壓縮和解壓縮檔案(解決中文檔名亂碼問題)

Java ZIP壓縮和解壓縮檔案(解決中文檔名亂碼問題) Java ZIP壓縮和解壓縮檔案(解決中文檔名亂碼問題) 學習了:http://www.tuicool.com/articles/V7BBvy  引用原文: JDK中自帶的ZipOutputStream在壓縮檔

JAVA實現檔案ZIP壓縮並解決中文檔名亂碼問題

一、檔案壓縮的中文亂碼問題 1、中文檔名的亂碼解決 對於壓縮的檔案,當檔名稱是中文時,若使用JDK API中自帶的類(java.util.zip.ZipEntry; java.util.zip.ZipOutputStream;)進行壓縮,壓縮完成後,可以看到壓縮包中的檔名

linux解決tomcat中文亂碼問題

在tomcat下的conf目錄資料夾下server.xml檔案中新增  useBodyEncodingForURI="true"  能很好的解決此類問題的發生。 <Connector port="8080"  useBodyEnco

java zip壓縮檔案中文檔名亂碼

    最近使用java.util.zipoutputstream發現中文名出現亂碼,一直試著使用new String(filename.getBytes("GBK"),"ISO-8859-1");還是無效。後來查閱資料,java.util.zipoutputstream無

linuxmysql出現中文亂碼中文問號)

  今天遇到一個很特別的情況,由於mysql的外網伺服器遭受了攻擊,無法不能使用視覺化的方式連線資料庫,這樣給我的資料查詢造成不小的麻煩,可是程式的問題往往是需要比對資料庫的資訊的,那怎麼辦?   後

Java Web專案匯出excel表,位址列中文正常,但是檔案下載報404中文檔名亂碼

最近,在公司做專案遇到的問題,解決了很長時間。總結一下。 使用的是easyui前臺框架,後臺是spring+jdbc。問題是:匯出excel表時,出現錯誤,報404.如下圖所示: 我們可以看到,在下載excel表時,位址列沒有問題,且中文檔名正常顯示。如中文檔名出現亂碼,