導航:首頁 > 編程語言 > 為什麼運行出來jsp沒有中文

為什麼運行出來jsp沒有中文

發布時間:2021-12-03 02:48:34

1. jsp頁面不能正常顯示中文怎麼辦

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%@ page language="java" pageEncoding="gb2312"%>
最上面加這段話就能解決你的問題,這段代碼也就內是實現中容文識別.

2. jsp運行時不能輸入中文

當然會亂碼了啊 這個問題挺簡單的 只是不懂的話就會有誤區了 多看些比較好的書回就知道了 樓上那答些人也是的都是回答錯誤的
<%@pagecontentType="text/html;charset=GB2312"%>
的功能是只是能正確顯示程序中的中文而不是你運行程序時輸入的中文的所以一定會出現亂碼現象的啦
解決辦法
在do54.jsp中把獲取的user信息要進行重編碼的具體為

<%
String user=request.getParameter("user");
byte b[]=user.getBytes("ISO-8859-1");
user=new String(b);
%>
<%=user>

編碼為ISO_8859-1無論是漢字或西歐字都能正確顯示
這樣就可以了啊 具體的根據你自己的程序把名字改好了就可以用了 呵呵 能夠幫助人的感覺真好

3. jsp中用utf-8編碼無法顯示中文

用UTF-8編碼唯一的好處是,國外的用戶如果使用Windows XP英文版,瀏覽UTF-8編碼的任何網頁,無論是中文內、還是日文、韓文容、阿拉伯文,都可以正常顯示,UTF-8是世界通用的語言編碼。但是為什麼你的不行呢?我想應該是你的.jsp文件存檔的時候.jsp文件的編碼沒有改成utf-8編碼格式吧。

4. 請問我的jsp頁面無法顯示中文是怎麼回事

解決請求參數中文
亂碼
,可以用request.setContentEncoding("gb2312");
頁面顯示response.setContentEncoding("gb2312");

5. jsp中漢字無法顯示

序言:
在論壇中,生活中,工作中,有不少和我一樣屬於鳥級的用戶,在面對著不明白的問題的時候就盲目了,多交流,多寫寫日記就好的多了

編寫環境:WIN2K(簡體中文版) server sp2 + TOMCAT4.0 + J2SDK1.3+MYSQL4.0(alpha)
檢測資料庫內容環境:WIN2K(簡體中文版) server sp2 + IIS5.0 + php4.0+MYSQL4.0(alpha)+PHPMYADMIN2.0

程序代碼(最終程序代碼):
----------------------------------------------------------------------------------------------------------------------
<%@ page import="java.sql.*" contentType="text/html;charset=gb2312" %>
<%//獲取提交信息
String reg_name=new String();
String reg_nick=new String();
String reg_pws=new String();
String reg_pws_rp=new String();
String reg_sex=new String();
String reg_email=new String();
String reg_email_rp=new String();
String reg_address=new String();
String reg_tel=new String();
String reg_hand=new String();
String reg_counter=new String();
String reg_city=new String();
String reg_zip=new String();
String reg_company=new String();
String reg_calling=new String();
String reg_place=new String();
String reg_question=new String();
String reg_answer=new String();
String reg_submit=new String();
String reg_check=new String();
String reg_momo=new String();
String SQL=new String();
String reg_teminfo=new String(); //歡迎信息,在論壇內將要使用
int flag_system;
int flag=1; //定義注冊用戶標記,1為活動用戶,0為非活動擁護
int up=0; //定義用戶登陸情況,注冊時候默認為0次
//轉換字元設置將ISO8859-1字元轉為GBK字元,這樣符合MYSQL字元,解決TOMCAT伺服器下中文問題
reg_name=new String(request.getParameter("reg_truename").getBytes("GBK"),"ISO8859-1"); //用戶真實名稱
reg_nick=new String(request.getParameter("reg_name").getBytes("GBK"),"ISO8859-1"); //用戶昵稱
reg_pws=new String(request.getParameter("reg_pws").getBytes("GBK"),"ISO8859-1"); //用戶密碼
reg_pws_rp=new String(request.getParameter("reg_pws_rp").getBytes("GBK"),"ISO8859-1"); //校驗密碼
reg_sex=new String(request.getParameter("reg_sex").getBytes("GBK"),"ISO8859-1"); //用戶性別
reg_email=new String(request.getParameter("reg_email").getBytes("GBK"),"ISO8859-1"); //電子郵件
reg_email_rp=new String(request.getParameter("reg_email_rp").getBytes("GBK"),"ISO8859-1"); //校驗電子郵件
reg_address=new String(request.getParameter("reg_address").getBytes("GBK"),"ISO8859-1"); //詳細地址
reg_tel=new String(request.getParameter("reg_tel").getBytes("GBK"),"ISO8859-1"); //聯系電話
reg_hand=new String(request.getParameter("reg_hand").getBytes("GBK"),"ISO8859-1"); //手機或其他聯系方式
reg_counter=new String(request.getParameter("reg_counter").getBytes("GBK"),"ISO8859-1"); //國家
reg_city=new String(request.getParameter("reg_city").getBytes("GBK"),"ISO8859-1"); //城市
reg_zip=new String(request.getParameter("reg_zip").getBytes("GBK"),"ISO8859-1"); //郵政編碼
reg_company=new String(request.getParameter("reg_company").getBytes("GBK"),"ISO8859-1"); //公司名稱
reg_calling=new String(request.getParameter("reg_calling").getBytes("GBK"),"ISO8859-1"); //職位性質
reg_place=new String(request.getParameter("reg_place").getBytes("GBK"),"ISO8859-1"); //職位
reg_question=new String(request.getParameter("reg_question").getBytes("GBK"),"ISO8859-1"); //機密問題
reg_answer=new String(request.getParameter("reg_answer").getBytes("GBK"),"ISO8859-1"); //機密答案
reg_submit=new String(request.getParameter("reg_submit").getBytes("GBK"),"ISO8859-1"); //提交變數
reg_check=new String(request.getParameter("reg_check").getBytes("GBK"),"ISO8859-1"); //是否檢測過姓名標記
reg_momo=new String(request.getParameter("reg_momo").getBytes("GBK"),"ISO8859-1"); //用戶簡單信息MOMO
////////////////////////
reg_teminfo="論壇內歡迎信息";
reg_teminfo=new String(reg_teminfo.getBytes("GBK"),"ISO8859-1");
int reg_temflag=1; //在論壇內尋找該欄位以便彈出即時信息
boolean temp=reg_check.equals("120980"); //判斷標記,以後採用SESSION進行保存判斷值
try{
if(temp)
{
%>
<html>
<head><title>注冊</title>
</head>
<style type="text/css">
body {font:9pt;color:black;margin:0}
td {font:9pt;color:black}
</style>
<body>
<center>
<%
//////////////////////////////////////////判斷用戶注冊信息////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////
java.lang.String strConn;
Class.forName("org.gjt.mm.mysql.Driver").newInstance(); //聲明驅動程序For mysql
//聲明連接對象 Connection C------C 為連接對象 Connection 為聲明語句
Connection C = DriverManager.getConnection("jdbc:mysql://localhost/news?user=mysql&password=mysql&useUnicode=true&characterEncoding=8859_1"); //連接到資料庫
Statement s=C.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=s.executeQuery("select * from reg where nick='"+reg_name+"'"); //聲明執行對象
if(rs.next())
{
%>
<table width=100% cellpadding=0>
<tr><td height=100px></td>
<tr><td align=center><font color=red>錯誤:非法操作注冊程序!</font>
<tr><td height=30px></td>
<tr><td align=center><font color=red>提示:您已經注冊或正在非法瀏覽本頁面<br>本頁面不允許刷新!</td>
<tr><td height=30px></td>
<tr><td align=center><button onclick="javascript:window.close()">關閉本頁面</button></td>
</table>
<%
}
else
{
SQL="INSERT INTO reg (id,flag, name, nick, sex, pws, email, address, tel, hand, city, zip, company, counter, momo, teminfo, temflag, calling, place, question, answer, up) VALUES ('','"+flag+"', '"+reg_name+"', '"+reg_nick+"', '"+reg_sex+"', '"+reg_pws+"', '"+reg_email+"', '"+reg_address+"', '"+reg_tel+"', '"+reg_hand+"', '"+reg_city+"', '"+reg_zip+"', '"+reg_company+"', '"+reg_counter+"', '"+reg_momo+"', '"+reg_teminfo+"', '"+reg_temflag+"', '"+reg_calling+"', '"+reg_place+"', '"+reg_question+"', '"+reg_answer+"', '"+up+"')";
s.executeUpdate(SQL);
%>
<br><br>
<table width="400" cellpadding=0 cellspacing=0 style="border:1 solid black ">
<tr><td colspan=2 height=15px></td>
<tr><td colspan=2 align=center>恭喜!您已經注冊成功,您的基本信息為...
<tr><td colspan=2 height=15px></td>
<tr><td align=right width="30%">用戶名:<td align=left width="70%"><%=new String(reg_nick.getBytes("ISO8859-1"),"GBK")%>
<tr><td align=right>真實姓名:<td align=left><%=new String(reg_name.getBytes("ISO8859-1"),"GBK")%>
<tr><td align=right>性別:<td align=left><%=reg_sex%>
<tr><td align=right>密碼:<td align=left><%=reg_pws%>
<tr><td align=right>電子郵件:<td align=left><%=reg_email%>
<tr><td align=right>詳細地址:<td align=left><%=new String(reg_address.getBytes("ISO8859-1"),"GBK")%>
<tr><td align=right>聯系電話:<td align=left><%=new String(reg_tel.getBytes("ISO8859-1"),"GBK")%>
<tr><td align=right>第二聯系方式:<td align=left><%=reg_hand%>
<tr><td align=right>所在城市:<td align=left><%=reg_city%>
<tr><td align=right>郵政編碼:<td align=left><%=reg_zip%>
<tr><td align=right>公司名稱:<td align=left><%=new String(reg_company.getBytes("ISO8859-1"),"GBK")%>
<tr><td align=right>國家:<td align=left><%=reg_counter%>
<tr><td align=right>工作性質:<td align=left><%=reg_calling%>
<tr><td align=right>職務:<td align=left><%=reg_place%>
<tr><td colspan=2 height=15px></td>
<tr><td colspan=2 align=center>提示:您已經登陸本站<font color=red><%=up%></font>次,您可以使用本帳戶直接登陸論壇...
<tr><td colspan=2 height=15px></td>
<tr><td align=center><a href="/">返回主頁</a><td align="center"><a href="">進入論壇</a></td>
</table>
<%
}
%>
</center>
</body>
</html>
<%
}
else
{
%>
<html>
<head>
<title>Error</title>
</head>
<body><center><br><br>
<font face="黑體" size=5 color=red>抱歉!非法的操作步驟!</font><br>
<font face="impact" color=black>Sorry!YOU have nullity at register!please register again!</font>
</center>
</body>
</html>
<%
}
}
catch (Exception t) {
out.println("<br><br>錯誤:本頁不允許刷新!<br>或您執行了非法操作!<br>Error:This page can't refresh!<br>you have error</center></body></html>");
}
%>

本程序依照
協議-----》預注冊(判斷呢稱是否被注冊)-----》成功(列印注冊項目)-----》提交
(重新選擇呢稱)↑ |(失敗)
|_________|

提交後-》判斷是否為正常注冊(temp為檢測標記)
提交成功-》列印注冊基本資料,添加COOKIE
注冊失敗-》列印失敗(有可能是伺服器問題)。
至此,程序完成

碰到問題:
按照調試階段碰到的問題先後攥寫,
1、 數據正常添加,但使用PHPMYADMIN查看資料庫內,所有的漢字均顯示為?????????。
2、 數據正常添加,但JSP頁面沒有按照設定的程序列印出資料。
3、 不可以刷新,一刷新程序重復執行一次,而發生資料庫內欄位沖突,導致JSP報錯!

調試過程:
在這里,首先感謝[令少爺][ wayne.xiao]以及關心咱這只「鳥「的朋友們

關於第一個碰到的問題,
問題1、
首先調試了程序,並且在executeUPdate前後都加上OUT來查看是否是程序造成的(轉換類型),但是輸出的均為正常。
進入PHPMYADMIN查看數據,所有的漢字均為?????。
具體內容可以查看
http://www.dev-club.com/club/bbs/showAnnounce.asp?id=1123399帖子
後經令少爺提示以及幫助,將字元改成GBK字元集合
(後來發現從資料庫內提取出來的就要轉換成ISO8859-1字元集了,要不也是?????!!頭疼的字元問題)
到此,問題告一段落!

問題2
無法正常顯示!當我按上面將需要輸入與輸出的字元均轉為字元集後,卻發現注冊後無法顯示信息。所顯示的頁面的HTML的默認的輸出空頁面(但executeUpdate已經執行,資料庫內資料已經添加)!找了半天沒找到問題,趕快求救!:J:JJJJJJJ
經過提示,先將所有的執行步驟加入 try內,然後查看出錯在哪裡,發現出錯在列印注冊成功資料那裡?左看右看沒發現什麼啊!!!
「GBK「靠!又是字元集問題!!!我把」GBK「給寫成」GDK」l了LLLLLLLLL
(很嚴重哦!!才學程序設計的時候所有的書本都說不要寫錯啊)
那是變數的名稱,沒想到只因為一個字元集合的名稱害得我忙了2個小時!!
所有的鳥,不論大鳥,小鳥,可不要再犯我這個低級錯誤了啊!
至此問題解決

問題3、
頁面刷新問題,由於2問題的解決採用了TRY,這個問題也就解決了,
在catch (Exception t) {}中捕獲錯誤(資料庫報出的錯誤!)另外在TRY中也有個捕捉錯誤的地方,不過我這里有時候他能報錯有時候不報錯!很討厭,不過由於用catch (Exception t) {}捕獲這個錯誤,所以這個問題也就解決了。

小結:
程序設計,很枯燥,不過也很美麗,當你完成她的時候,感覺是非常的爽!
不過大姑娘綉花要心細點~~ 低級錯誤盡量避免,拼寫的時候要注意不要錯了哦!
還有,下步准備將程序寫到BEAN里,這樣的寫法對於頁面來說不容易布置,
對於代碼的安全,少了一個安全級,對於錯誤的處理,增加了麻煩,所以嗎~~大家自己看了

6. jsp無法顯示中文

<%@ page contentType="text/html;charset=gb2312" %>
<%@ page language="java" %>
<%
request.setCharacterEncoding("gb2312");
String xname=request.getParameter("usname");
if (xname==null || xname=="")
{
out.print("請輸入你的姓名");
}
加上第3句應該就沒問題了!

7. 為什麼我MyEclipse裡面看到的JSP文件裡面的中文是亂碼,但是我運行JSP文件卻不是亂碼

把MyEclipse里的有亂碼的那個jsp代碼全部刪除,然後再粘貼文件里的jsp代碼 就沒問題了有時候是有這樣的問題 我一般這么做的 雖然不怎麼好 呵呵!

8. 怎麼我的jsp運行顯示不了中文

首先,你的方面如果是通過本地直接訪問的話,肯定不會被執行,因為jsp是伺服器端web端語言,你需要將這個jsp站點架設到tomcat或者其他jsp網站環境下,通過瀏覽器地址訪問該網站,這樣jsp腳本才能夠得到執行,並返回正確的頁面。

9. 怎麼解決jsp的中文問題

所有頁面要統一編碼
utf-8中 一個中文字佔用3個位元組
而在gbk中是2個位元組

10. jsp顯示中文問題

把頁面編碼改成 utf-8 的 支持中文比較好

修改如下專

<%@ page contentType="text/html;charset=utf-8"%>
<%
request.setCharacterEncoding("utf-8");
%>

<html>
<head>
<title>title</title>
</head>
<body>
<jsp:forward page="hello.jsp">
<jsp:param name="output" value="我們屬的jsp" />
</jsp:forward>
</body>
</html>

<%@ page contentType="text/html;charset=utf-8"%>
<%
request.setCharacterEncoding("utf-8");
%>
<%
String s = request.getParameter("output");
out.print(s);
%>

閱讀全文

與為什麼運行出來jsp沒有中文相關的資料

熱點內容
兩台windows怎麼傳文件 瀏覽:937
哪裡能看周星馳電影粵語版 瀏覽:66
無線感測器網路技術的實現方法 瀏覽:447
如何把文件中同類型文件選出來 瀏覽:307
信德財務軟體備份文件 瀏覽:884
如何無線手機注冊app 瀏覽:425
哪個付費小說app最好 瀏覽:58
文件名使用通配符的作用 瀏覽:339
!4_ '6h[Bz9zd.F 瀏覽:553
李釆潭 作品 瀏覽:9
有一部電影男主有雀斑 瀏覽:473
數據字典保存哪些信息 瀏覽:63
文件夾的圖片怎麼復制到word 瀏覽:110
壓縮文件照片如何導到桌面 瀏覽:605
ios中如何讀取doc文件 瀏覽:786
能在線播放的電影你懂的 瀏覽:11
汽車總動員英語在線觀看 瀏覽:99
飯店點菜單app如何做的 瀏覽:524
鴻蒙系統文檔類文件位置 瀏覽:397
法國灰姑娘電影 瀏覽:80

友情鏈接