Common mistakes when working with accentuated characters
Jimmy Bourassa | March 2, 2009Working with accentuated characters in CakePHP can definitely be a pain if you’re unfamiliar with a few basic guidelines.
All your files must be encoded in UTF-8
Make sure all your files containing accentuated characters are encoded in UTF-8 (no BOM or it’ll screw everything up!). If your file does not have the correct encoding, any string that contains an accentuated character will just be considered as empty, which can be frustrating to debug.
Database connection must use UTF-8 encoding
This will prevent elements from the database to be considered as empty.
//In /app/config/database.php class DATABASE_CONFIG { var $default = array( 'driver' => 'mysql', 'persistent' => false, 'host' => 'some_host', 'login' => 'some_user', 'password' => 'some_ow', 'database' => 'some_db', 'prefix' => '', 'encoding'=>'utf8' ); }
Set App.Encoding to UTF-8 in core.php
Actually, I’m not sure why we’re doing this, but I figured it couldn’t hurt. Everytime I start a project I make sure my App.Encoding is set to UTF-8 in core.php.
Configure::write('App.encoding', 'UTF-8');
Make sure to define the charset in your html files
Definitely not as hard to debug as the other, but remember to define the charset in your layout.
echo $html->charset();
Hope it helps!






Hi Jimmy I've a tip to share. If you make a
Sebastián | March 3, 2009Hi Jimmy
I’ve a tip to share.
If you make a file UTF-8(no BOM) in your code editor but the file doesn’t contains any UTF-8 character, when the file is saved and later reopened will be detected as an ANSI/ASCII file.
It could lead to unexpected & weird errors to work in a file that you believe is UTF-8 and actually is a ANSI/ASCII file.
To avoid this I have a method:
1. Save your file in UTF-8 (no BOM).
2. Add a comment in the first lines. I generally use something like:
3. Save your file again.
Now, when you open the file is always detected as UTF-8.
I hope this could help somebody.
PS: excuse my poor english please.
In step 2 the code must be: #php_open_tag# // Ñandú
Sebastián | March 3, 2009In step 2 the code must be:
#php_open_tag# // Ñandú #php_close_tag#
Hello Sebastian, Thanks for the tip. I don't think my code
Jimmy Bourassa | March 3, 2009Hello Sebastian,
Thanks for the tip. I don’t think my code edit (Coda from Panic (OS X)) behave like this - but it might explain the troubles I’ve had with Dreamweaver when I started with Cake.
Out of curiosity, what editor do you use?
Maybe Coda is more intelligent handling utf-8 files (I would
Sebastián | March 3, 2009Maybe Coda is more intelligent handling utf-8 files (I would like to use it on Windows!) .
I currently use Scriptly for Windows but the tip is valid for Dreamweaver or Notepad++. Scriptly is a lightweight freeware editor with many interesting features. It’s still a little buggy, but editing HTML, CSS & PHP on it is very confortable for me.
Regards,
[...] Bourassa has a series of tips on how to
CakePHP Digest #15 - Blog Posts Edition | PseudoCoder.com | June 1, 2009[...] Bourassa has a series of tips on how to successfully use accented characters. His post can pretty much be summed up as: use UTF-8 or fail [...]
The business loans are important for people, which are willing
Callie21Hardin | August 17, 2010The business loans are important for people, which are willing to start their own business. In fact, that’s not really hard to receive a auto loan.