Codeigniter Character Encoding Issues
-
03-07-2019 - |
Question
I have a few simple pages which have no database data, and are just statically loaded from the controller. I have set everything possible to UTF-8
encoding. I have checked headers, which result to UTF-8
. However, it still parses wrong showing these characters: ���.
Controller:
function index(){
$this->load->view('french/header_view');
$this->load->view('french/homepage_view');
$this->load->view('french/footer_view');
}
Config File:
$config['charset'] = "UTF-8";
Header View:
<? header("Content-Type: text/html; charset=UTF-8"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
....
Characters Used in Body View:
géniales - à - époustouflant
Characters generated:
� se g�niales !
Where have I gone wrong? Thanks for your help!
Solution
It seems that the data is not encoded in UTF-8. Have you checked the encoding settings of your editor?
OTHER TIPS
Old but still relevant:
http://philsturgeon.co.uk/blog/2009/08/UTF-8-support-for-CodeIgniter
I had the same problem with Dreamweaver CS4, but I fixed it with Notepad++ (FREE!).
1.- Use Notepad++ -> Format -> Convert to UTF-8 WITHOUT BOM.
2.- Save.
3.- REVIEW again the file and correct the characters showing wrong.
4.- Save again.
5.- You're done.
(Also make sure in the config file in CI you have UTF8).
For me at least it worked that way (Spanish).