1

我有一个可以从命令行使用泰语字符串执行的 Gruntfile。

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();
});

但是现在呼应它让我一团糟:

à¸<99>ีà¹<88>à¸<84>ืà¸à¸<81>ารà¸<97>à¸<94>สà¸à¸<9a>

情节变厚了:我通过 AWS 实例上的 userdata 从 cloud-init 运行这一切。但是,当我通过 shell 运行相同的 Grunt 命令时,脚本可以正常工作。- 有任何想法吗?

4

1 回答 1

0

想通了。

从 Grunt 进入 Casper 的字节编码发生了变化。

utf8to16http://www.onicos.com/staff/iz/amuse/javascript/expert/utf.txt浏览它们

一切顺利。

于 2016-11-10T09:40:44.230 回答