In my controller, the following works (prints \"oké\")
puts obj.inspect
But this doesn\'t (renders \"ok\\u00e9\")
render :j
That is the correct encoding. JSON doesn't requre Unicode characters to be escaped, but it is common for JSON libraries to produce output which contains only 7-bit ASCII characters, to avoid any potential encoding problems in transit.
Any JSON interpreter will be able to consume that string and reproduce the original. To see this in action, just type javascript:alert("ok\u00e9")
into your browser's location bar.