Question: I have a webform and an input if you put in Latté and `POST` it using JSON...

```
$.ajax({
    type: "POST",
    url: "http://"+document.domain+"/includes/rpc.php",
    data: {method:"add_item",item:item},    
    dataType: "json",
    timeout: 10000,
    success:......

```

`item` will be the value `Latté` Latté is posted and the responding JSON is `Latt\u00e9` which the browser interprets as `Latté`. Effectively this script is a WYSIWYG editor so what you type in you get back. Anyhue if I refresh the text is pulled out of mysql and comes out as `LattÃ©?`. So I am guessing that MYSQL is not the correct collation?

Some more information - the query to edit the DB is 

`UPDATE menu_items SET description = 'Latté' WHERE item_id = '742'`

the JSON reply is 

`{"description":"Latt\u00e9","id":"#recordsArray_742"}`

Answer: 
It could be MySQL's collation.

It could also be HTTP encoding.

Or you could be using string functions in PHP which are not multi-byte-safe.

This kind of error can happen at many points through your tool chain.
Either the database collation is wrong or the DBAL you are using (PDO?).