I had a similar error which caused json_encode to return a null field whenever there was a hi-ascii character such as a curly apostrophe in a string, due to the wrong character set being returned in the query.
The solution was to make sure it comes as utf8 by adding:
mysql_set_charset('utf8');
after the mysql connect statement.