使用俄罗斯符号 return 从 Ruby 调用 Bash 命令 1

Calling Bash Commands From Ruby with russian symbols return 1

调用bash命令

cmd = '/usr/bin/mediainfo "/var/avalon/dropbox/Лекции_для_молодых_ученых/Nabiullin_SciERes_1.flv" --Output=XML'    
out = `#{cmd}`

在rails项目中'avalom media system'return错误代码1.

从路径 cmd = '/usr/bin/mediainfo "/var/avalon/dropbox/Nabiullin_SciERes_1.flv" --Output=XML' 中删除俄文字母,调用另一个命令 cmd = 'head "/var/avalon/dropbox/Лекции_для_молодых_ученых/Nabiullin_SciERes_1.flv"' 或 运行 irb 或项目环境中的命令或 bash - 一切都很好。

谢谢。

当我尝试使用 file:543 => in gem media info file:473

中的俄文字母将媒体文件添加到 collection 时出错

控制台编码 - utf-8。命令字符串编码 - utf-8.

出现这个问题的原因是avalon的ENV["LANG"]C。 将 ENV["LANG"] 设置为 en_US.utf-8 解决这个问题。