This may be as simple as ensuring that Catalyst::View::JSON is using a JSON encoder that supports UTF8 encoding. I believe that if you use JSON::XS with Catalyst::View::JSON it will perform UTF8 encoding by default. You can make sure that Catalyst::View::JSON is using JSON::XS using the json_driver config variable.
Alternatively you can override JSON encoding in Catalyst::View::JSON as detailed in the docs