[这是一个关于JavaScript不在web/HTML环境中的问题]
是否有一种方法来强制任何特定的(即UTF-8)编码源JavaScript文件在gjs?我面临的问题是,直接从命令行($ gjs test.js
)运行的第一个文件被读取为UTF-8,但任何导入的模块都是一些单字节编码,这对于非英语用户来说几乎毫无用处。
我有一个简单的测试用例(字符串包括花哨的非ascii引号)。文件test.js
:
print ("test “1”");
imports.searchPath.push ('.');
imports.test2.foo ();
File test2.js
:
function foo () {
print ("test “2”");
}
当测试用例作为$ gjs test.js
运行时,它给出以下输出:
test “1”
test â2â
当您使用时,直接调用的文件test.js
确实会产生正确的输出,而导入模块中的字符串会乱码。有没有办法使gjs解析导入模块为UTF-8?
实际上,这是gjs中的一个bug,最近已经修复了(可能还没有发布)。有了这个修复,它将工作,而不需要指定编码。