Skip to content

Instantly share code, notes, and snippets.

Created March 12, 2012 19:44
What would you like to do?
Handle invalid JS character sequences
* encode to handle invalid UTF
* If Chrome tells you "Could not decode a text frame as UTF-8" when you try sending
* data from nodejs, try using these functions to encode/decode your JSON objects.
* see discussion here:
* see also, for browsers that don't have native JSON:
* Any time you need to send data between client and server (or vice versa), encode before sending,
* and decode upon receiving. This is useful, for example, if you are using for real-time
* client/server communication of data fetched from a third-party service like Twitter, which might
* contain Emoji, or other UTF characters outside the BMP.
function strencode( data ) {
return unescape( encodeURIComponent( JSON.stringify( data ) ) );
function strdecode( data ) {
return JSON.parse( decodeURIComponent( escape ( data ) ) );
Copy link

jonlong commented Apr 17, 2012

Thank you!

Copy link

@jonlong - glad you found it useful! BTW, I think I saw something about how this might be fixed in node 0.8?

Copy link

stagas commented May 1, 2012

Fixed my case also, thanks!

Copy link

Thanks !

Copy link


will be trying this native v8 side later this morning

Copy link

mandria commented Mar 29, 2016

thanks it works!!

Copy link


Copy link

Works a treat thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment