作者hagai0407 (阿丐哦哪個丐)
看板java
標題[問題] commons.fileupload中文變數亂碼
時間Fri Jan 5 19:19:58 2018
需要製作的功能是:
上傳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://webptt.com/m.aspx?n=bbs/java/M.1515151200.A.15C.html
1F:→ fayhong: JRE 執行在 windows 嗎? 還是 linux?01/06 14:26
2F:推 JustinHere: JSP 使用的 editor 編碼呢?01/06 18:28
3F:推 LPH66: 這亂碼看起來像是 jsp 原始碼是 UTF-801/06 21:55
4F:→ LPH66: 但被原 PO 指定成 Big5 解釋01/06 21:55
5F:→ hagai0407: f大,JRE在linux執行唷01/07 12:11
6F:→ hagai0407: J大,jsp editor編碼是big501/07 12:12
7F:→ hagai0407: L大,jsp檔如果沒用到common.fileupload,寫死的中文字01/07 12:12
8F:→ hagai0407: 字就沒亂碼,所以應該不是jsp原始碼是utf-8的問題?01/07 12:13
※ 編輯: hagai0407 (123.194.27.16), 01/07/2018 15:51:07
9F:→ LPH66: 會這麼猜的原因是你這亂碼是你那四個字的 UTF-8 編碼 01/08 02:55
10F:→ LPH66: 被解釋成 Big5 所產生的; 如果你的大部份地方都是 Big5 01/08 02:55
11F:→ LPH66: 那或許去找什麼東西存成 UTF-8 再去改可能會有用 01/08 02:55
12F:→ LPH66: 那也是因為這是發生在寫死的文字所以才會猜是原始碼編碼 01/08 02:56
13F:→ hagai0407: 跟L大講得差不多 解決了感謝QQ 01/13 20:19