blogger

    blogger
  • hot log

  • comment

    twitter

    • 空间续费,加上ssl连接。。

      2018-11-22 01:04

    • 12.10.xC6出来时候碰到"Could not determine encryption mode from page zero",竟果然是BUG!http://www-01.ibm.com/support/docview.wss?rs=630&uid=swg21973408

      2015-12-21 20:15

    • 空间已经转移到新加坡,希望会好一些。

      2015-11-16 14:34

    • 增加新域名liaosnet.cc,与liaosnet.com同指向。

      2015-10-09 15:25

    • 空间迁移到香港。或许速度会快一点。。

      2014-02-13 20:10

    • More»

    blog sort

    links

    record

    banner

    JSP+INFORMIX中文查询显示

    暗夜星空's Memory from Jan 31 , 2011 at 15:33 PM , under Category:IFX/GBase

    1.数据库环境:
    系统/数据库版本:rhel4.7+ids11.50uc5
    informix用户环境:
        INFORMIXDIR=/opt/informix; export INFORMIXDIR
        INFORMIXSERVER=ids11_online_net; export INFORMIXSERVER
        ONCONFIG=onconfig; export ONCONFIG
        PATH=${PATH}:${INFORMIXDIR}/bin; export PATH
        LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${INFORMIXDIR}/lib:${INFORMIXDIR}/lib/esql; export LD_LIBRARY_PATH
        LANG=zh_CN.gb; export LANG
        DBLANG=zh_CN.gb; export DBLANG
        DB_LOCALE=zh_CN.gb; export DB_LOCALE
        SERVER_LOCALE=zh_CN.gb; export SERVER_LOCALE 
        CLIENT_LOCALE=zh_CN.gb; export CLIENT_LOCALE

    测试表:
    建立一个名为dbmon的库,建立表 t1 (id char(10),name char(10),info char(20));
    导入数据
    001        测试1      测试001测
    002        test2     test002tes
    003        测试工3    测试小幅3 

    2.JSP环境:
    系统/web环境:windows xp+tomcat5.0+jdk1.4.2+jdbc3.00jc3
    测试jsp文件
    t3.jsp
    ===============================================================
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>中文字符传送查询</title>
    </head>

    <body>
    <form id="form1" name="form1" method="post" action="t4.jsp">
      <label>查询条件
      <input type="text" name="sname" />
      </label>
      <label>
      <input type="submit" name="Submit" value="提交" />
      </label>
    </form>
    </body>
    </html>

    t4.jsp
    ===============================================================
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>中文字符接收查询数据库</title>
    </head>
    <%
    String sname = new String(request.getParameter("sname").getBytes("ISO-8859-1"));
    //String sname = request.getParameter("sname")
    //String sname = request.getParameterNames("sname")
    //byte[] tmpbyte = sname.getBytes("ISO-8859-1"); 
    //sname = new String(tmpbyte);
    %>
    <%= sname %>
    <%
    Class.forName("com.informix.jdbc.IfxDriver").newInstance(); 
    String url = "jdbc:informix-sqli://192.168.80.120:9122/dbmon:INFORMIXSERVER=ids11_online_net;user=informix;password=informix";
    //testDB为你的数据库名 

    Connection conn= DriverManager.getConnection(url); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

    String sql="select * from t1 where name='"+sname+"';";

    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) { %> 
    您的第一个字段内容为:<%= rs.getString(1) %> 
    您的第二个字段内容为:<%= rs.getString(2) %> 
    您的第三个字段内容为:<%= rs.getString(3) %>
    <% } %> 
    <% out.print("数据库操作成功,恭喜你"); %> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %>  
    <body>
    </body>
    </html>

    3.结果:从t3传送中文到t4的结果正确,从t4通过jdbc连接到数据库查询返回结果正常.

    点击查看原图

    点击查看原图

     

    4.分析:

     

    1)从t3.jsp传中含中文的变量值到t4.jsp,使用了getBypes("ISO-8859-1"),因为默认的传送使用的是IS0-8859-1的编码模式,需要转换成当前编码.
    String sname = new String(request.getParameter("sname").getBytes("ISO-8859-1"));

    2)数据库环境为中文zh_CN.gb,以支持中文查询.


    以上仅为本次测试分析.

    Post a comment:

    Your email address will not be published. Required fields are marked﹡