I have a question! I want to print an unicode string in php (like \'سلام\')! but when I use echo only some ??? apear!!!
what whould I do??? This happens hen I want to c
You need to declare the used character encoding in the HTTP response. You can use the header function:
header('Content-Type: text/html;charset=utf-8');
With this the output is declared to be HTML with the character encoding UTF-8. Note that you can’t use header
when you’ve already sent data to the client without buffering it. So either use the output control to buffer the output so that you can modify the header although there already was some output or use header
before any output.
Maybe I'm a little too late but this worked for me:
echo utf8_encode('سلام');
You need to do three things:
SET NAMES 'utf8'
before selecting records.Content-type
HTTP header to (e.g.) text/html; charset=utf-8
.Of course, replace "UTF-8" with whatever encoding you want which supports the characters you need. There's no need to change the database tables (except for possible performance gains). You may need to change HTML templates, etc. if you decide on UTF-16 or something else which isn't (mostly) ASCII-compatible.