我需要编写一个CVS导出程序,该程序在内部使用UTF-8编码,该编码源自用户通过Web输入(因此您可以期待任何字符)。它是日语系统所以我需要编码为Shift_JIS。
现在,当我将UTF-8更改为Shift_JIS时,我收到如下错误:
Encoding::UndefinedConversionError (U+7E6B from UTF-8 to Shift_JIS):
我想要a)消除角色,或b)将角色映射到其他角色 (或简单地说,串起'(U + 7E6B)')
似乎捕获异常并将其作为字节字符串消除,但必须有更简单的方法来执行此操作。
进行此转换的最佳方式是什么?
答案 0 :(得分:1)
[将我的后续评论转换为问题答案]
我发现编码有选项,我可以用
进行编码:undef=>true, # for UndefinedConversionError :replace=>"?"
有所期望的效果。也可以指定以下内容:
:invalid=>true, # for InvalidByteSequenceError