我有一个Grunt文件,可以在命令行中使用泰语字符串执行。
grunt --data =นี่คือการทดสอบ
当我回显字符串时,我可以看到字符串是完整的:
นี่คือการทดสอบ
然后我用字符串
生成一个CasperJS脚本grunt.util.spawn({
cmd: '/usr/local/bin/casperjs',
args: [
'--engine=slimerjs',
'--ssl-protocol=any',
'--text=' + str,
'test.js'
],
},
function(error, result, code)
{
grunt.log.writeln(error + ' | ' + result + ' | ' + code);
done();
});
但现在回应它让我一团糟:
A< 99>à¸μà¹< 88>一种与LT; 84>一种·AA< 81>²ãA< 97>一种与LT; 94>一种¸ªà¸à¸<图9a>
情节变粗:我正在通过AWS实例上的userdata从cloud-init运行这一切。 但是,当我通过shell运行相同的Grunt命令时,脚本运行正常。 - 有什么想法吗?
答案 0 :(得分:0)
想出来了。
字节编码改变从Grunt进入Casper。
从http://www.onicos.com/staff/iz/amuse/javascript/expert/utf.txt
通过utf8to16
一切都好。