posts - 2, comments - 27, trackbacks - 0, articles - 60
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          弄了老半天,終于是把這個(gè)問(wèn)題給搞定了,一個(gè)在JOBSS下跑得很好的程序,因?yàn)槟承┰蛐枰w移到TOMCAT下面,可老是出現(xiàn)亂碼的問(wèn)題,情況如下
          數(shù)據(jù)庫(kù):MYSQL5.0
          數(shù)據(jù)庫(kù)編碼:UTF-8
          所有頁(yè)面編碼都統(tǒng)一用UTF-8
          在JBOSS下配置數(shù)據(jù)源,即修改mysql-ds.xml
          <?xml version="1.0" encoding="UTF-8"?>

          <datasources>
            
          <local-tx-datasource>
              
          <jndi-name>app</jndi-name>
              
          <connection-url>jdbc:mysql://localhost/app</connection-url>
              
          <driver-class>com.mysql.jdbc.Driver</driver-class>
              
          <user-name>user</user-name>
              
          <password>pwd</password>
            
              
          <metadata>
                 
          <type-mapping>mySQL</type-mapping>
              
          </metadata>
            
          </local-tx-datasource>
          </datasources>
          當(dāng)把應(yīng)用遷移到TOMCAT6下時(shí),配置好TOMCAT下的數(shù)據(jù)源(修改contex.xml文件)
          <?xml version='1.0' encoding='utf-8'?>

          <!-- The contents of this file will be loaded for each web application -->
          <Context>

          <Resource name="jdbc/app" 
                  auth
          ="Container"
                  type
          ="javax.sql.DataSource"
                  driverClassName
          ="com.mysql.jdbc.Driver"
                  url
          ="jdbc:mysql://localhost/app"
                  username
          ="user"
                  password
          ="pwd"
                  removeAbandoned
          ="true"
                  removeAbandonedTimeout
          ="60"
                  logAbandoned
          ="true"
                  maxActive
          ="700"
                  maxIdle
          ="30"
                  maxWait
          ="10000" />

              
          <!-- Default set of monitored resources -->
              
          <WatchedResource>WEB-INF/web.xml</WatchedResource>

          </Context>
          因JBOSS和TOMCAT獲取數(shù)據(jù)源連接的方式不同,又修改了獲取連接的代碼,啟動(dòng)之后是可以運(yùn)行,頁(yè)面讀取數(shù)據(jù)正常,但寫(xiě)入數(shù)據(jù)庫(kù)時(shí),出現(xiàn)了亂碼,我嘗試著修改寫(xiě)入數(shù)據(jù)庫(kù)的SQL語(yǔ)句的編碼,但不管怎么修改都不能正常顯示,后來(lái)試著通過(guò)URL直接修改連接的編碼試試,于是把TOMCAT數(shù)據(jù)源配置里的URL指定為UTF-8的字符集
          url="jdbc:mysql://localhost/app?useUnicode=true&amp;characterEncoding=utf-8"
          這里再重新啟動(dòng)TOMCAT,運(yùn)行后,數(shù)據(jù)寫(xiě)入正常,這個(gè)困擾我多天的問(wèn)題終于解決了,之前沒(méi)有想到這樣的問(wèn)題,以為JBOSS里也是用的TOMCAT,在JBOSS里配置的數(shù)據(jù)源都沒(méi)有在URL里指定編碼,沒(méi)想到單獨(dú)使用TOMCAT時(shí)會(huì)出現(xiàn)這樣的問(wèn)題,把今天的處理在這里作個(gè)記錄,以便以后備查

          小結(jié):
          當(dāng)用MYSQL作數(shù)據(jù)庫(kù)時(shí),將應(yīng)用程序從JBOSS遷移到TOMCAT,如果存在亂碼的問(wèn)題,可以考慮修改URL指定字符集

          主站蜘蛛池模板: 武清区| 新宾| 德钦县| 临江市| 武陟县| 沂南县| 大港区| 什邡市| 革吉县| 松阳县| 远安县| 华安县| 壤塘县| 大冶市| 南华县| 宣恩县| 崇义县| 平定县| 谢通门县| 文登市| 和顺县| 格尔木市| 大新县| 乐清市| 旺苍县| 红桥区| 平邑县| 六盘水市| 宝山区| 嵩明县| 德格县| 琼海市| 象州县| 绥宁县| 齐河县| 黄冈市| 蕉岭县| 忻城县| 丹江口市| 同江市| 启东市|