我与几个外部服务集成,我通过 http 下载文件。我发现在我的系统中使用它们之前,我必须转换/清理文件的名称。所以我在代码的不同部分有这样的事情:
name = name.encode('UTF-8', 'ASCII-8BIT', invalid: :replace, undef: :replace, replace: '')
name = name.encode('UTF-8', 'ISO-8859-1', invalid: :replace, undef: :replace, replace: '')
在每种情况下,我都必须询问服务我应该期待什么编码。
这是解决此问题的唯一方法,还是有某种更标准和通用的方法来清理传入的字符串?