如果从数据库中读取出来的中文字符不是乱码,那么应该是环境变量的问题。不知道你用什么方法生成的XML文件呢?
解决方案 »
- SSH 框架中 Model层需要注入吗
- tomcat 的Server Status 中的 Error count 值有点高 , 如何降底???
- 请教Hibernate中多对多的问题
- 放假了!发个问候帖!
- JSF和Tapestry,您选谁?
- 使用PrintWriter 输出json字符串, 在jsp怎么不显示
- weblogic 6.1 中的jdk131 如何升级到jdk1.4
- 问一个数组初始化的问题
- ejb钝化时间和session bean的超时时间怎样设置?
- 如何测试weblogic jdbc connection pool配置是否成功?
- 别怪我,我想问JAVA的最高境界是什么...
- 何为轻量级,何为重量级? 这些是哪方面的知识??
import java.io.*;
public class DatabaseRetriever
{
public static void main(String[] args)
{
if(args.length<1)
{
System.out.println("usage:java DatabaseRetriever <outputFileName>");
System.exit(0);
}
System.out.println("args is:"+args[0]);
DatabaseRetriever r=new DatabaseRetriever();
r.start(args[0]);
}
public void start(String outFile)
{
DataOutputStream dos=createXmlFile(outFile);
Connection conn=getConnection();
try{
Statement stmt=conn.createStatement();
String query="select first_name,last_name,email from dujuan";
System.out.println("query is:"+query);
ResultSet rset=stmt.executeQuery(query);
String firstName,lastName,email;
while(rset.next())
{
firstName=rset.getString(1);
lastName=rset.getString(2);
email=rset.getString(3);
writeDataRecord(firstName,lastName,email,dos);
System.out.println("ddddddd");
}
}catch(Exception ex){
ex.printStackTrace();
System.out.println("Start程序异常!!!");
}
closeXmlFile(dos);
}public DataOutputStream createXmlFile(String outputFileName)
{
//PrintStream pos=null;
DataOutputStream dos=null;
try{
dos=new DataOutputStream(new FileOutputStream(outputFileName));
dos.writeBytes("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"? >");
dos.writeBytes("<Document>");
}catch(Exception ex){
ex.printStackTrace();
System.out.println("createXmlFile异常!!!");}
return dos;
}public void writeDataRecord(String f,String l,String e, DataOutputStream dos)
{
try{
dos.writeBytes("<Person>");
dos.writeBytes("<FirstName>"+f+"</FirstName>");
dos.writeBytes("<LastName>"+l+"</LastName>");
dos.writeBytes("<Email>"+e+"</Email>");
dos.writeBytes("</Person>");
}catch(Exception ex){System.out.println("writeDataRecord异常!!!");}
}public void closeXmlFile(DataOutputStream dos)
{
try{
dos.writeBytes("</Document>");
dos.close();
}catch(Exception ex){System.out.println("closeXmlFile异常!!!");}
}
public Connection getConnection()
{
Connection conn=null;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:dj","","");
System.out.println("与数据库连接成功!!!");
}
catch(Exception e){System.out.println("与数据库连接失败!!!");}
return conn;
}
}
<?xml version="1.0" encoding="GB2312" ?>
public void writeDataRecord(String f,String l,String e, DataOutputStream dos)
{
try{
dos.writeBytes("<Person>");
dos.writeBytes("<FirstName>"+String.getBytes(f,"GB2312")+"</FirstName>");
dos.writeBytes("<LastName>"+String.getBytes(l,"GB231")+"</LastName>");
dos.writeBytes("<Email>"+e+"</Email>");
dos.writeBytes("</Person>");
}catch(Exception ex){System.out.println("writeDataRecord异常!!!");}
}然后在ie中查看是选择字符集
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
PrintWriter out=response.getWriter();