struts2文件上傳文件名亂碼
Ⅰ struts2上傳後路徑是亂碼怎麼辦
在struts.xml裡面添加一段
<constant name="struts.i18n.encoding" value="GBK"/>
應該就OK了。
簡單示例一下
<struts>
<constant name="struts.i18n.encoding" value="GBK"/>
<package name="my" extends="struts-default">
</package>
</struts>
Ⅱ ajax 向struts2傳數據出現亂碼;怎麼解決,所有的編碼都改成了utf-8還是不行
1.寫一個過濾器,如果不行,在使用如下方法。
2.改tomcat的編碼方式,這是解決亂碼最徹底的一種方式。
方法如下:找到安裝tomcat的路徑,Tomcat 6.0--->conf--->server.xml
用記事本打開,找到
<Connector port="8080" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443"/>前面的不變,把後面加一句URIEncoding="UTF-8",如下:
<Connector port="8080" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
然後保存,OK!
Ⅲ 用struts2上傳帶中文名的歌曲時出現亂碼(配置了常量,資料庫里和歌手名字帶中文都正常顯示)
我最近也在研究編碼的問題,utf、iso、gbk什麼的,真的很麻煩...
我猜想應該先去確定,在資料庫中是不是亂碼,然後在action中是不是亂碼,才能確定是哪一步出了問題。當然,我不清楚你用的是什麼資料庫,也不能提供具體的建議了,但是我相信注意一下肯定能看到編碼設置的。如果你用的myeclipse之類的工具,記得在preferences裡面把workspace、content types全部統一編碼。以下幾張我的配置圖,希望對你有幫助,共同提高。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<constant name="struts.i18n.encoding" value="utf-8"></constant>
&lt;%@ page language="java" import="java.util.*" pageEncoding="utf-8"%&gt;
&lt;constant name="struts.i18n.encoding" value="utf-8"&gt;&lt;/constant&gt;
Ⅳ struts2接受js傳的中文為亂碼,請問該怎麼辦
轉碼的三種方法:
A 接受參數時進行編碼轉換
String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8"); 這樣的話,每一個參數都必須這樣進行轉碼。很麻煩。但確實可以拿到漢字。
B 在請求頁面上開始處,執行請求的編碼代碼, request.setCharacterEncoding("UTF-8"),把提交內容的字元集設為UTF-8。這樣的話,接受此參數的頁面就不必在轉碼了。直接使用
String str = request.getParameter("something");即可得到漢字參數。但每頁都需要執行這句話。
這個方法也就對post提交的有效果,對於get提交和上傳文件時的enctype="multipart/form-data"是無效的。稍後下面單獨對這個兩個的亂碼情況再進行說明。
C 為了避免每頁都要寫request.setCharacterEncoding("UTF-8"),建議使用過濾器對所有jsp進行編碼處理。
如果是通過action直接傳的,沒有配置過濾器,建議按B方法修改一下!
Ⅳ struts2中文亂碼問題
那個標簽的作用不是萬能的
如果你用get提交,tomcate會對url編碼成iso-8859-1
你頁面不是gbk而是utf8,那麼怎麼轉也轉不回...
你應該這樣:
1)把所有頁面編碼變成gbk
2)盡可能用post傳遞參數
3)你的資料庫編碼也變成gbk
這樣你的編碼就全部統一了...這個方法已經很簡單了,就是注意習慣,之後什麼轉碼之類的根本不用做
如果你尋找再簡單的方法...這個...
找到了hi我...
Ⅵ Struts2 怎麼解決中文亂碼問題
1、你頁面過來的提交文本都要設置編碼,最好將頁面設置為UTF-8
2、如果你用了Spring框架,則可以在web.xml文件里統一設置頁面提交過來的文本編碼
【代碼】
<!-- Spring編碼過濾器,管理從頁面或伺服器條狀提交過來的字元串的編碼 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
以上代碼放到web.xml文件中哦!
3、MyEclipse或者Eclipse設置文件編碼
eclipse 中使用模板新建 JSP,xhtml等 文件時,默認的編碼為:ISO-8859-1。 ISO-8859-1 編碼對於中文的顯示是不支持的,如果要支持簡體中文,則編碼方式應為 GBK 或者 GB2312 或者 UTF-8(推薦) 等。右鍵菜單欄window --> preferences --> 在type filter text中輸入jsp; --> 選擇下面的jsp -> 選擇creating files組中的encoding 為UTF-8編碼就可以了
如果要使新建立工程、java文件直接使UTF-8則需要做以下工作:
(1)、windows->Preferences...打開"首選項"對話框,左側導航樹,導航到general->Workspace,右側 Text file encoding,選擇Other,改變為UTF-8,以後新建立工程其屬性對話框中的Text file encoding即為UTF-8。
(2)、windows->Preferences...打開"首選項"對話框,左側導航樹,導航到general->Content Types,右側Context Types樹,點開Text,選擇Java Source File,在下面的Default encoding輸入框中輸入UTF-8,點Update,則設置Java文件編碼為UTF-8。其他java應用開發相關的文件 如:properties、XML等已經由Eclipse預設指定,分別為ISO8859-1,UTF-8,如開發中確需改變編碼格式則可以在此指定。
(3)、經過上述兩步,新建java文件即為UTF-8編碼,Eclipse編譯、運行、調試都沒問題,但是做RCP應用的Proct輸出時、或者 插件輸出時,則總是出錯,要麼不能編譯通過(輸出時要重新compile)、要麼輸出的插件運行時中文顯示亂碼。此時需要再RCP應用、或插件 Plugin工程的build.properties中增加一行,javacDefaultEncoding.. = UTF-8。讓輸出時編譯知道java源文件時UTF-8編碼。這個設置需要保證所有的java源文件時UTF-8編碼格式,如果不全是,可以參考 Eclipse幫中(Plug-in Development Environment Guide > Reference > Feature and Plug-in Build configuration),建議全部java源文件是UTF-8編碼。