<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 閱讀(2583) 評論(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
    強!太感謝了!  回復  更多評論
      

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


    網站導航:
     
    主站蜘蛛池模板: 成人免费a级毛片无码网站入口| 伊人久久免费视频| 国产精品va无码免费麻豆| 日韩亚洲国产综合高清| 精品久久久久久久久免费影院| 亚洲成年人电影在线观看| 三年片在线观看免费观看高清电影| 亚洲国产亚洲综合在线尤物| 1000部拍拍拍18勿入免费视频软件 | 亚洲精品A在线观看| 免费手机在线看片| 久久久久亚洲?V成人无码| 中文在线免费观看| 久久久无码精品亚洲日韩按摩| 222www免费视频| 亚洲偷自拍另类图片二区| 国产一区二区三区免费视频 | 中国内地毛片免费高清| 亚洲av无码精品网站| 黄网站色在线视频免费观看| 亚洲欧美成人av在线观看| 亚洲A∨午夜成人片精品网站| 亚洲精品国产日韩无码AV永久免费网| 亚洲国产婷婷六月丁香| 亚洲精品在线免费观看视频 | 亚洲人成在线播放网站| 13一14周岁毛片免费| 亚洲最大的成人网| 亚洲成a人片在线观看国产| 久章草在线精品视频免费观看| 91嫩草亚洲精品| 免费人成在线观看视频播放| 日韩精品无码免费专区网站| 亚洲制服丝袜中文字幕| 国产在线观看免费不卡| 久久大香香蕉国产免费网站| 亚洲一卡2卡三卡4卡无卡下载| 中文字幕精品亚洲无线码一区 | 四虎影视在线永久免费观看| 在线免费观看h片| 亚洲精品自偷自拍无码|