Does anyone have any experience with character encoding and JSON returns to Ajax calls?

I've just spent the last week trying to work this out, and I think I've either complexed myself into a box, or what I'm trying to do is just wrong.

1] I'm using Ajax to make a request to the server
2] Cookbook returns a JSON object
3] I use Javascript to do things with the JSON object

This all works great. I was ready to release an Ajax enabled BlogIt unto the world. And then someone tested with accented characters...

JSON requires UTF-8 encoded strings. In particular PHPs json_encode *requires* strings to be UTF-8. So, if a wiki page is encoded with ISO88591 characters, and has accented characters, (รถ) for example, these need to be converted to their UTF-8 equivalent.

Therein lies the problem. If I pass a UTF-8 encoded page back to the browser, I now need to make sure I decode the UTF-8 if that data is subsequently submitted back to the server. This seems to open a rats nest of encoding issues.

About the only solution I can come up with is to abandon the use of JSON, and simply pass back XML in my Ajax response. This is okay, but means re-writing everything I already did.

So, am I fundamentally missing something here, or are there other options I should explore?


 ~ ~ Dave


_______________________________________________
pmwiki-devel mailing list
pmwiki-devel@pmichaud.com
http://www.pmichaud.com/mailman/listinfo/pmwiki-devel

Reply via email to