While trying to use the json_encode function a Windows-1252 left and right quote character was breaking the encoding and I was ending up with no JSON. The string being encoded was from html within a PHP file. I’m guessing it was copy pasted from a Word doc.
To fix this the <a href="http://php.net/manual/en/function.mb-convert-encoding.php">mb_convert_encoding</a>
function, not the <a href="http://php.net/manual/en/function.utf8-encode.php">utf8_encode</a>
function, was needed. From the utf8_encode
docs: “This function will not convert such Windows-1252 characters correctly. Use a different function if Windows-1252 conversion is required”. mb_convert_encoding
turned out to be the “different function”.
The function call ended up looking like this:
mb_convert_encoding($new_selection['new_string'], 'UTF8', array('Windows-1252'))