2016-05-04 44 views
0

我的jmeter测试计划有一点问题。 我有一个JDBC请求从这个sql查询我检索姓和名中提取客户在SQL数据库 只 之后,我有一个BeanShell的小脚本写我的所有客户在一个CSV文件:Jmeter豆壳脚本 - 波兰名和姓

f = new FileOutputStream(vars.get("InputFilePath")); 
p = new PrintStream(f); 

nb_customer=Integer.parseInt(vars.get("NOM_#")); 

for (i=1;i<=nb_customer;i++) { 
       p.println(vars.get("NOM_"+i) + ";" + vars.get("PRENOM_"+i)); 
} 

p.close(); 
f.close(); 

我的问题是,它是我们的子公司在波尔卡 的应用程序,所以所有客户的名字都用不同的符号,字符在波兰语中。 在csv文件中,它们会出现一个?尽管真实的性格。

你能帮助我吗?

非常感谢

+0

也许您正在使用,以打开该文件的编辑器配置不正确?你为什么不尝试用记事本++打开它,例如 –

+0

非常感谢你的回答。我用Notepad ++打开我的csv文件。 –

+0

很高兴帮助 –

回答

0
  1. 尝试明确设置编码UTF-8,初始化为PrintStream为:

    p = new PrintStream(f, true, "UTF-8"); 
    
  2. 退房JMeter的默认编码为:

    log.info(System.getProperty("file.encoding")); 
    

    Encoding

    如果输出为UTF-8个不同的下一行添加到system.properties文件(生活在你安装Jmeter的/ bin文件夹:

    file.encoding=UTF-8 
    

    ,并重新启动JMeter的。另外,可以通过-D命令行参数传递给它这样的:

    jmeter -Dfile.encoding=UTF-8 
    

    上的JMeter属性和设置,并覆盖它们的方式的详细信息,请参阅Apache JMeter Properties Customization Guide

  3. 在JMeter的自身检查文件内容通过FileUtils.readFileToString()方法,如:

    From File

+0

嗨迪米特里,非常感谢您的回答,并为延误感到遗憾,但我失业了。我试过你的配置。 1和2对我和我的csv文件都很好,波兰语字符显示的很好,但是当我使用$ {NOM} jmeter变量填充名称字段时,波兰语字符显示为方形字符。我试了3看看角色是否显示正确,但在这一点上呢?显示的字符。在我的例子中,polishChars是:MOSTYŁZDZISŁAW,在日志中有MOSTY?ZDZIS?AW。非常感谢你的帮助。 Ludo –

+0

即使应用了“UTF-8”提示?这很奇怪。 –

+0

是的,但是在我的csv文件名和名字是正确的,但在测试后在名称字段方块出现我修改了系统属性文件,并在我的脚本(BSF采样器)这行改变:p = new PrintStream(f,true ,“UTF-8”);非常感谢 –