I\'m developing a dependent select script using jQuery, PHP and JSON as the response.
Everything goes well except for using special characters like French ones (é ,
This worked for me, hopefully it will work for anyone else experiencing similar issues.
$title = 'é';
$title = mb_convert_encoding($title, "UTF-8", "HTML-ENTITIES");
header('Content-Type: application/json; Charset="UTF-8"');
echo json_encode(array('title' => $title));
The mb_convert_encoding function takes a value and converts it from (in this case) HTML-ENTITIES to UTF-8.
See here for me details on the function http://php.net/manual/en/function.mb-convert-encoding.php
If I write them like (é) and don't pre-encode them the full value in this array entry is not shown.
What should I do here?
In JSON you do not HTML-encode values. You send them literally (é) and set set Content-Type correctly:
header('Content-Type: application/json; Charset=UTF-8');
Declare the encoding your data is in, of course.
Just like the first anwser
Do you use a database? If Yes, make sure the database table is declared UFT8 How is declared the HTML page? UTF-8 IS the string in the PHP script file? If yes, make sure the file has a UTF-8 file format
You could also use utf8_encode (to send to HTML) and utf8_decode (to receive) but not the right way