java spss_JAVA SPSS 中文乱码问题,急!

该博客文章讨论了在使用JAVA SPSS API生成.sav文件时遇到的中文乱码问题。作者尝试了多种字符集,如GBK, GB2312, UTF-8, ISO-8859-1,但都无法正确显示中文。文章寻求解决方案,尤其是针对ALT升高这一列的乱码问题。" 106288989,8707025,Python RSA加密解密与签名验证实践,"['Python', '加密解密', 'RSA']
摘要由CSDN通过智能技术生成

import java.io.*;

import com.pmstation.spss.*;

public class SpssTest {

// Entrance point

public static void main(String args[]) {

try {

// Open file output stream with filename args[0]

OutputStream out = new FileOutputStream("C:\\Documents and Settings\\Administrator\\桌面\\2.sav");

// Assign SPSS output to the file

SPSSWriter outSPSS = new SPSSWriter(out, "windows-1251");

// Creating SPSS variable description table

outSPSS.setCalculateNumberOfCases(false);

outSPSS.addDictionarySection(-1);

// Describing varible names and types

outSPSS.addStringVar("cont", 32, "continents of the world");

outSPSS.addNumericVar("size", 4, 0, "sq km");

outSPSS.addNumericVar("pop", 4, 0, "population");

// Create missing value

MissingValue mv = new MissingValue();

mv.setOneDescreteMissingValue(1);

outSPSS.addNumericVar("count", 4, 0, "number of countries", mv);

// Create value labels

ValueLabels valueLabels = new ValueLabels();

valueLabels.putLabel(44, "Forty four");

valueLabels.putLabel(23, "Twenty three");

outSPSS.addValueLabels(4 , valueLabels);

// Create SPSS varible value define table

outSPSS.addDataSection();

// Add values for all defined variables

outSPSS.addData("ALT升高");

outSPSS.addData(new Long(44579000L));

outSPSS.addData(new Long(3674000000L));

outSPSS.addData(new Long(44));

outSPSS.addData("Africa");

outSPSS.addData(new Long(30065000L));

outSPSS.addData(new Long(778000000L));

outSPSS.addData(new Long(53));

outSPSS.addData("North America");

outSPSS.addData(new Long(24256000L));

outSPSS.addData(new Long(483000000L));

outSPSS.addData(new Long(23));

outSPSS.addData("South America");

outSPSS.addData(new Long(17819000L));

outSPSS.addData(new Long(342000000L));

outSPSS.addData(new Long(12));

outSPSS.addData("Antarctica");

outSPSS.addData(new Long(13209000L));

outSPSS.addData(new Long(0));

outSPSS.addData(new Long(0));

outSPSS.addData("Europe");

outSPSS.addData(new Long(9938000L));

outSPSS.addData(new Long(732000000L));

outSPSS.addData(new Long(46));

outSPSS.addData("Australia/Oceania");

outSPSS.addData(new Long(7687000L));

outSPSS.addData(new Long(31000000L));

outSPSS.addData(new Long(14));

outSPSS.addData("Transelvania");

outSPSS.addData(new Long(7345560L));

outSPSS.addData(new Long(34565456L));

outSPSS.addData(new Long(44));

// Create SPSS ending section

outSPSS.addFinishSection();

// Close output stream

out.close();

}

catch (FileNotFoundException exOb) {

System.out.println("FileNotFoundException (Demo.main): " +

exOb.getMessage());

exOb.printStackTrace(System.out);

return;

}

catch (IOException exOb) {

System.out.println("IOException (Demo.main): " + exOb.getMessage());

exOb.printStackTrace(System.out);

return;

}

}

}

以上是一个测试程序,生成的.sav文件用SPSS打开,ALT升高这列中文显示乱码,怀疑是windows-1252字符问题,但是换成GBK,GB2312,UTF-8,ISO-8859-1都不行或只有个别成功。

作者: lazj1123

发布时间: 2010-05-19

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值