posts - 2, comments - 27, trackbacks - 0, articles - 60
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          解決從JBOSS遷移到TOMCAT下的MYSQL亂碼問題

          Posted on 2009-05-26 21:10 ZhouFeng 閱讀(778) 評論(0)  編輯  收藏 所屬分類: 原創Web服務器DataBase
          弄了老半天,終于是把這個問題給搞定了,一個在JOBSS下跑得很好的程序,因為某些原因需要遷移到TOMCAT下面,可老是出現亂碼的問題,情況如下
          數據庫:MYSQL5.0
          數據庫編碼:UTF-8
          所有頁面編碼都統一用UTF-8
          在JBOSS下配置數據源,即修改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>
          當把應用遷移到TOMCAT6下時,配置好TOMCAT下的數據源(修改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獲取數據源連接的方式不同,又修改了獲取連接的代碼,啟動之后是可以運行,頁面讀取數據正常,但寫入數據庫時,出現了亂碼,我嘗試著修改寫入數據庫的SQL語句的編碼,但不管怎么修改都不能正常顯示,后來試著通過URL直接修改連接的編碼試試,于是把TOMCAT數據源配置里的URL指定為UTF-8的字符集
          url="jdbc:mysql://localhost/app?useUnicode=true&amp;characterEncoding=utf-8"
          這里再重新啟動TOMCAT,運行后,數據寫入正常,這個困擾我多天的問題終于解決了,之前沒有想到這樣的問題,以為JBOSS里也是用的TOMCAT,在JBOSS里配置的數據源都沒有在URL里指定編碼,沒想到單獨使用TOMCAT時會出現這樣的問題,把今天的處理在這里作個記錄,以便以后備查

          小結:
          當用MYSQL作數據庫時,將應用程序從JBOSS遷移到TOMCAT,如果存在亂碼的問題,可以考慮修改URL指定字符集

          主站蜘蛛池模板: 宜丰县| 潜江市| 杂多县| 浦县| 通山县| 三穗县| 化德县| 绩溪县| 西平县| 惠州市| 叶城县| 扶沟县| 乌兰察布市| 华阴市| 万盛区| 红安县| 游戏| 广南县| 定远县| 西宁市| 丹阳市| 京山县| 叶城县| 洪洞县| 兴宁市| 古蔺县| 沙河市| 法库县| 浦城县| 龙井市| 永宁县| 金塔县| 阿勒泰市| 微博| 稻城县| 竹山县| 黎城县| 柏乡县| 垫江县| 柘荣县| 紫阳县|