diff options
-rw-r--r-- | src/json/ext/GeneratorState.java | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/json/ext/GeneratorState.java b/src/json/ext/GeneratorState.java index c5a8d15..1f24055 100644 --- a/src/json/ext/GeneratorState.java +++ b/src/json/ext/GeneratorState.java @@ -382,12 +382,9 @@ public class GeneratorState extends RubyObject { private ByteList prepareByteList(ThreadContext context, IRubyObject value) { RubyString str = value.convertToString(); - IRubyObject encoding = str.encoding(context); - if (encoding != null) { - RuntimeInfo info = RuntimeInfo.forRuntime(context.getRuntime()); - if (encoding != info.utf8) { - str = (RubyString)str.encode(context, info.utf8); - } + RuntimeInfo info = RuntimeInfo.forRuntime(context.getRuntime()); + if (info.encodingsSupported() && str.encoding(context) != info.utf8) { + str = (RubyString)str.encode(context, info.utf8); } return str.getByteList().dup(); } |