Skip to content

Instantly share code, notes, and snippets.

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

dougalcampbell commented Apr 19, 2012

@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

FGRibreau commented May 2, 2012

Thanks !

Copy link

victusfate commented Nov 4, 2013


will be trying this native v8 side later this morning

Copy link

mandria commented Mar 29, 2016

thanks it works!!

Copy link

nshermione commented Jun 28, 2017


Copy link

vipickering commented Sep 17, 2018

Works a treat thanks!

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