[問題] commons.fileupload中文變數亂碼

看板java作者 (阿丐哦哪個丐)時間6年前 (2018/01/05 19:20), 6年前編輯推噓2(2011)
留言13則, 4人參與, 6年前最新討論串1/1
需要製作的功能是: 上傳CSV檔後,比對檔案內容,將特定資料顯示出來。 我使用apache.commons.fileupload來實做檔案上傳的功能, 但是做以下判斷時 if("店點代碼".equals(array[0])){ // (array[0]是CSV某個欄位內容) print("Y"); } 一直沒有print出Y,一開始以為是讀CSV內容編碼有問題, 於是 out.print("店點代碼<br>" + array[0]); 顯示的居然是 ---------------------- 摨??隞?Ⅳ 店點代碼 ---------------------- 讀CSV是正常的,print一段寫死的文字反而有問題?! 也嘗試過 out.print( new String("店點代碼".getBytes(),"Big5") ); 結果也不正確...... 我的設定是 1. <%@ page contentType = "text/html;charset=Big5" %> 2. servletFileUpload.setHeaderEncoding("Big5"); 請問該怎麼解決呢? 感謝>< -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.40.219 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1515151200.A.15C.html

01/06 14:26, 6年前 , 1F
JRE 執行在 windows 嗎? 還是 linux?
01/06 14:26, 1F

01/06 18:28, 6年前 , 2F
JSP 使用的 editor 編碼呢?
01/06 18:28, 2F

01/06 21:55, 6年前 , 3F
這亂碼看起來像是 jsp 原始碼是 UTF-8
01/06 21:55, 3F

01/06 21:55, 6年前 , 4F
但被原 PO 指定成 Big5 解釋
01/06 21:55, 4F

01/07 12:11, 6年前 , 5F
f大,JRE在linux執行唷
01/07 12:11, 5F

01/07 12:12, 6年前 , 6F
J大,jsp editor編碼是big5
01/07 12:12, 6F

01/07 12:12, 6年前 , 7F
L大,jsp檔如果沒用到common.fileupload,寫死的中文字
01/07 12:12, 7F

01/07 12:13, 6年前 , 8F
字就沒亂碼,所以應該不是jsp原始碼是utf-8的問題?
01/07 12:13, 8F
※ 編輯: hagai0407 (123.194.27.16), 01/07/2018 15:51:07

01/08 02:55, 6年前 , 9F
會這麼猜的原因是你這亂碼是你那四個字的 UTF-8 編碼
01/08 02:55, 9F

01/08 02:55, 6年前 , 10F
被解釋成 Big5 所產生的; 如果你的大部份地方都是 Big5
01/08 02:55, 10F

01/08 02:55, 6年前 , 11F
那或許去找什麼東西存成 UTF-8 再去改可能會有用
01/08 02:55, 11F

01/08 02:56, 6年前 , 12F
那也是因為這是發生在寫死的文字所以才會猜是原始碼編碼
01/08 02:56, 12F

01/13 20:19, 6年前 , 13F
跟L大講得差不多 解決了感謝QQ
01/13 20:19, 13F
文章代碼(AID): #1QJrzW5S (java)