I have a field in a MySQL database (utf8_general_ci) that contains a curly (smart?) apostrophe: Owner’s...
This prints fine with no special handling if
Using PHP's utf8_encode()
before my json_encode()
did indeed stop the data from cutting off after the ’
but it also encoded it to \0092
which did not display (control character). When I used MySQL's SET NAMES utf8
before my query, I did not have to use utf8_encode()
at all, and my json was encoded correctly with ’
mapping to \u2019
, which displays nicely.
Thanks for the link @Pekka, it helped me narrow down the possibilities.