我的是程序是将数据库的数据输出至指定格式的xml文件,用的是PrintWriter来输出。
数据库中有全角的“-”,输出至xml文件就成了“?”号,请问我改怎么处理?以下是将sqlserver数据库中的text型字段输出至xml文件中的方法: /**
* 生成指定字段的数据
*
* @param name
* 字段名字
* @param value
* 输出流用于字段在oracle中是clob类型的字段值,在sqlserver中是text类型的字段值
* @throws IOException
*/
protected void generateColumnData(String name, Reader reader) throws IOException {
writer.print(" <column name=\"");
writer.print(name);
writer.print("\">");
StringBuffer dat = new StringBuffer();
if (reader != null) {
int l;
char[] buf = new char[8192];
while ((l = reader.read(buf)) != -1) {
dat.append(buf, 0, l);
}
}
if(dat.length() >0){
writer.print(StringEscapeUtils.escapeXml(dat.toString()));
} else {
writer.print("");
}
writer.println("</column>");
}
数据库中有全角的“-”,输出至xml文件就成了“?”号,请问我改怎么处理?以下是将sqlserver数据库中的text型字段输出至xml文件中的方法: /**
* 生成指定字段的数据
*
* @param name
* 字段名字
* @param value
* 输出流用于字段在oracle中是clob类型的字段值,在sqlserver中是text类型的字段值
* @throws IOException
*/
protected void generateColumnData(String name, Reader reader) throws IOException {
writer.print(" <column name=\"");
writer.print(name);
writer.print("\">");
StringBuffer dat = new StringBuffer();
if (reader != null) {
int l;
char[] buf = new char[8192];
while ((l = reader.read(buf)) != -1) {
dat.append(buf, 0, l);
}
}
if(dat.length() >0){
writer.print(StringEscapeUtils.escapeXml(dat.toString()));
} else {
writer.print("");
}
writer.println("</column>");
}
楼主【matrix1984】截止到2008-07-24 09:43:02的历史汇总数据(不包括此帖):
发帖的总数量:36 发帖的总分数:1030 每贴平均分数:28
回帖的总数量:38 得分贴总数量:9 回帖的得分率:23%
结贴的总数量:34 结贴的总分数:1030
无满意结贴数:1 无满意结贴分:10
未结的帖子数:2 未结的总分数:0
结贴的百分比:94.44 % 结分的百分比:100.00%
无满意结贴率:2.94 % 无满意结分率:0.97 %
值得尊敬