java learnging

          一塊探討JAVA的奧妙吧
          posts - 34, comments - 27, trackbacks - 0, articles - 22

          導航

          公告

          big_seal@msn.com
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章檔案

          相冊

          收藏夾

          Blog站點

          favorite blog

          java website

          java基礎

          my blog

          other blog

          temp link

          個人Blog

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          MySql中的中文亂碼解決方案

          Posted on 2005-01-13 14:45 bigseal 閱讀(1098) 評論(0)  編輯  收藏

          上次測試使用hibernate,遇到了中文的亂碼問題,今天在web中使用hibernate又遇到了亂碼的問題。但是上次解決后沒有把解決方案記錄下來,今天重新上網搜索了一把。并將解決方案記錄在下面便于以后再遇到時查看用。

          Hibernate中配置Mysql數據庫如下:

          hibernate.dialect net.sf.hibernate.dialect.MySQLDialect

          hibernate.connection.driver_class org.gjt.mm.mysql.Driver

          #hibernate.connection.driver_class com.mysql.jdbc.Driver

          hibernate.connection.url jdbc:mysql://localhost:3306/test

          hibernate.connection.username root

          hibernate.connection.password password

          hibernate.commection.url的值后面加上字符串“?useUnicode=true&characterEncoding=GBK”就可以解決了。

          即修改后的url為:

          hibernate.connection.url jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK

          Hibernate還有一種配置文件是xml格式的,文件名為:hibernate.cfg.xml

          xml文件中配置MySql數據庫的定義如下:

              <session-factory name="/jndi/ContactsSessionFactory">

                 <!-- properties -->

                 <property name="hibernate.connection.driver_class">

          org.gjt.mm.mysql.Driver

          </property>

                 <property name="hibernate.connection.url">

          jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=GBK

          </property>

                 <property name="hibernate.connection.username">root</property>

                 <property name="hibernate.connection.password">password</property>

                 <property name="hibernate.dialect">

          net.sf.hibernate.dialect.MySQLDialect

          </property>

                 <property name="hibernate.connection.pool_size">4</property>

                 <property name="hibernate.show_sql">true</property>

                 <!-- mapping files -->

                 <mapping resource="hello/Message.hbm.xml"/>

              </session-factory>

          注意由于在XML文件中&符號是轉義符,因此需要對其進行轉義。即使用&amp;來代替。

           

                  

           

          JSP連接MYSQL數據庫如果有中文存取的情況會出現亂碼,網頁上中文顯示一堆“?“,
          需要做如下改變
          1. 連接串:
           String mysqlDriver = "org.gjt.mm.mysql.Driver";                        //數據庫驅動,又作"com.mysql.jdbc.Driver"
            String mysqlUrl = "jdbc:mysql://localhost:3306/bbs?useUnicode=true&characterEncoding=gb2312";    //數據庫連接字串
            String mysqlUser = "root";                                             //數據庫用戶名
            String mysqlPsw = "";                                                  //數據庫密碼
           
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();   //注冊驅動
            conn = DriverManager.getConnection(mysqlUrl,mysqlUser,mysqlPsw);  //得到連接

          2.請求對象設置:
          <% request.setCharacterEncoding("gb2312");%>
          將jsp的請求對象的字符集設置為支持中文

           

           

          這中方法還沒用過,先收藏起來,有空的時候研究一下。


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


          網站導航:
           
          主站蜘蛛池模板: 枣阳市| 洞头县| 平阴县| 吉安县| 安远县| 崇仁县| 德令哈市| 班玛县| 泗水县| 金川县| 滦南县| 泸定县| 布尔津县| 北安市| 登封市| 宾阳县| 上思县| 丹凤县| 洛南县| 博野县| 四子王旗| 铁岭市| 南和县| 宁蒗| 酒泉市| 长沙市| 明水县| 皮山县| 德阳市| 卢湾区| 鄂托克旗| 华蓥市| 界首市| 城步| 唐河县| 遵义县| 永康市| 遵义市| 肥乡县| 南城县| 乐昌市|