<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-55  評論-208  文章-0  trackbacks-0
    bea workshop studio(原nitrox m7)確實是個好東西,但是我再使用它的jsp編輯器打開含有utf-8的中文jsp頁面時其中的中文是亂碼,而且你修改有亂碼的頁面后,再用別的編輯器打開發現原來正常的中文也都變成亂碼了。
    為了解決問題我在google和baidu的搜索了好久沒有找到方法,于是我到m7的論壇(http://forums.m7.com/forum/index.php)看看有沒有解決方法。
    終于我找到這樣一個記錄http://forums.m7.com/forum/viewtopic.php?t=463&start=0&postdays=0&postorder=asc&highlight=encoding
    其中m7 support給出的解釋是這樣的:
    NitroX?looks?for?a?meta?tag?to?determin?the?charset?that?should?be?used?to?encode?the?page?file.?The?page?directive?is?usually?used?to?determin?the?charset?used?by?the?server?to?serve?the?page?to?the?browser.?These?2?are?not?the?same?(for?good?reasons).?

    So,?
    try?something?like:?
    <meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8"?/>?

    M7?Support

    所以可以知道,workshop的jsp編輯器在打開jsp頁面時首先是從meta的標簽中讀取頁面的編碼的。
    于是,我先用其它的編輯器(我用的是dw8)打開有問題的jsp頁面,然后在其中添加meta標簽
    <%@?page?language="java"?pageEncoding="UTF-8"%>
    <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
    <html>
    ??
    <head>
    ????
    <title>下部框架頁</title>
    ????
    <meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8"?>?
    ????
    <meta?http-equiv="pragma"?content="no-cache">
    ????
    <meta?http-equiv="cache-control"?content="no-cache">
    ????
    <meta?http-equiv="expires"?content="0">
    。。。。。。。。。。

    然后再用workshop的編輯器打開,發現中文顯示正常了,本以為這樣問題就結束了
    但是當我修改另外一個頁面后,用workshop打開發現依然是亂碼
    <%@?page?language="java"?pageEncoding="UTF-8"%>
    <%@?page?import="jbc.util.WebHelper"?%>
    <%@?include?file="resource.jsp"%>


    <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
    <html:html?lang="true">
    ??
    <head>
    ??
    ????
    <html:base?/>???
    ????
    ????
    <title>desktop.jsp</title>
    ????
    <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?>?
    ????
    <meta?http-equiv="pragma"?content="no-cache">
    ????
    <meta?http-equiv="cache-control"?content="no-cache">
    ????
    <meta?http-equiv="expires"?content="0">????
    。。。。。。。。。。。。

    這與前一個頁面的不同之處在于增加了struts標簽,我在反復測試后發現把<html:base />這個標簽刪除后中文就正常了,但是<html:base />這個標簽是必須的,于是我把<html:base />這個標簽放置在meta后面
    <%@?page?language="java"?pageEncoding="UTF-8"%>
    <%@?page?import="jbc.util.WebHelper"?%>
    <%@?include?file="resource.jsp"%>


    <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
    <html:html?lang="true">
    ??
    <head>
    ????
    <title>desktop.jsp</title>
    ????
    <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?>?
    ????
    <meta?http-equiv="pragma"?content="no-cache">
    ????
    <meta?http-equiv="cache-control"?content="no-cache">
    ????
    <meta?http-equiv="expires"?content="0">????
    ????
    <meta?http-equiv="keywords"?content="keyword1,keyword2,keyword3">
    ????
    <meta?http-equiv="description"?content="This?is?my?page">
    ????
    <common:validate/>
    ????
    <html:base?/>
    ??
    </head>
    而且經過測試我發現,不僅僅是struts標簽,在meta前面加入任何標簽都將導致頁面的中文亂碼。
    因此我認為workshop的jsp editer在打開文件時首先要讀取jsp頁面的meta標簽以確定編碼,如果沒有指定字符集的meta標簽或者在該meta標簽前增加其它方法標簽將會導致編輯器讀取編碼不正常,而使得編輯器以默認的gb2312字符集打開文件導致亂碼
    總結workshop(原nitrox m7)的utf-8中文亂碼問題的解決步驟應該是:
    1、首先確定項目的編碼是uft-8,這樣保證默認的jsp頁面屬性是utf-8
    2、在jsp頁面中添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >,注意如果已經含有中文并且是亂碼就必須先要用其它可以正常顯示的編輯器打開添加后并保存
    3、當發現打開依然是亂碼時就要檢查是不是在<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >前還有什么需要邏輯處理的標簽影響的workshop對jsp頁面的讀取。

    這個問題花費了我兩個禮拜的時間希望我的方法能夠給同樣和我一樣在為這個問題煩惱的朋友有所幫助
    posted on 2006-04-12 10:52 rocket 閱讀(2584) 評論(8)  編輯  收藏

    評論:
    # re: 關于workshop(原nitrox m7)的utf-8中文亂碼問題解決 2006-04-12 12:21 | pfood
    謝謝  回復  更多評論
      
    # re: 關于workshop(原nitrox m7)的utf-8中文亂碼問題解決 2006-04-12 14:10 | keith
    這問題我在M7上問過,他們是根據<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >確定文件編碼的,希望能改進一下,這樣很不合理,因為不是所有頁面都要增加的的,例如include進來的,再在每頁都加上meta不就重復了。
    最好能改成根據<%@ page language="java" pageEncoding="UTF-8"%>來保存文件的編碼。
    如果能像myeclipse那樣就更好了  回復  更多評論
      
    # re: 關于workshop(原nitrox m7)的utf-8中文亂碼問題解決 2006-04-12 14:29 | rocket
    @keith
    是的,買了這么貴的東西,其它都很好用,但是要是因為這一個小問題影響了使用真的是太不應該了  回復  更多評論
      
    # re: 關于workshop(原nitrox m7)的utf-8中文亂碼問題解決 2006-04-13 10:13 | Harryson
    樓主辛苦了,
    找出問題了,肯定很興奮.
    找bug很有挑戰性.  回復  更多評論
      
    # re: 關于workshop(原nitrox m7)的utf-8中文亂碼問題解決 2006-04-13 21:56 | 小武藏
    有一種解決辦法是修改 Tomcat 的 server.xml 文件的 connnector:
    <Connector port="8080"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true"
    URIEncoding="UTF-8" useBodyEncodingForURI="true" />

    其中 URIEncoding="UTF-8" useBodyEncodingForURI="true" 是需要新增的。
    我也被這樣的問題困惑過。

      回復  更多評論
      
    # re: 關于workshop(原nitrox m7)的utf-8中文亂碼問題解決 2006-04-13 23:44 | rocket
    @小武藏
    謝謝你的補充
    不過我的問題是
    你這樣更改是在啟動服務器以后可以正確的顯示jsp頁面
    而我處理的問題是在使用eclipse編輯jsp頁面時出現亂碼  回復  更多評論
      
    # re: 關于workshop(原nitrox m7)的utf-8中文亂碼問題解決 2006-07-26 02:46 | boin
    給Eclipse加上啟動參數 -Dfile.encoding=utf-8 也能完美解決這個問題!  回復  更多評論
      
    # re: 關于workshop(原nitrox m7)的utf-8中文亂碼問題解決 2006-08-12 18:10 | xudi
    強!太感謝了!  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲一卡一卡二新区无人区| 国产成人人综合亚洲欧美丁香花| 中文字幕亚洲色图| 国产亚洲sss在线播放| 羞羞漫画页面免费入口欢迎你| 色www永久免费| 国产亚洲情侣一区二区无码AV| 一日本道a高清免费播放 | 亚洲国产成人无码AV在线影院| 成人免费看吃奶视频网站| 久久久久国产亚洲AV麻豆| 国产精品免费观看视频| 最近最好的中文字幕2019免费| 亚洲不卡1卡2卡三卡2021麻豆| 久久99精品免费视频| 亚洲日本一区二区三区| 91制片厂制作传媒免费版樱花| 亚洲综合色区中文字幕| 免费无遮挡无码视频网站| 美女一级毛片免费观看| 在线观看亚洲成人| 亚洲精品国产摄像头| 亚洲国产综合无码一区二区二三区 | 亚洲黄色高清视频| 妻子5免费完整高清电视| 亚洲av午夜成人片精品网站| 久久午夜免费鲁丝片| 91亚洲自偷在线观看国产馆| 无人在线观看免费高清| 亚洲剧场午夜在线观看| 国产美女精品视频免费观看| 人人爽人人爽人人片A免费| 国产亚洲人成网站观看| 老司机在线免费视频| 男女交性无遮挡免费视频| 亚洲av中文无码乱人伦在线咪咕| 99久久99这里只有免费费精品| 国产尤物在线视精品在亚洲| 亚洲熟妇av一区二区三区| av片在线观看永久免费| 亚洲精品午夜久久久伊人|