Re: [SMARTY] UTF-8 and capitalize issues

From: Date: Thu, 09 Mar 2006 18:37:09 +0000
Subject: Re: [SMARTY] UTF-8 and capitalize issues
References: 1  Groups: php.smarty.general 
Request: Send a blank email to php-smarty-general+get-13350@lists.php.net to get a copy of this message
On Thu, Mar 09, 2006 at 09:22:45AM -0800, Cameron Perry wrote: > Hi everyone, > > I'm applying the capitalize modifier to a particular text variable, > which works as expected in most cases. What has recently come up is > that non-english characters are throwing a bit of a kink into my > plan. For example, Galápagos is coming out as GaláPagos with the > capitalize modifier. > > I looked through the forums and didn't find any solutions that > worked, including using the setlocale() PHP function on my page... > All my Smarty template pages are set to charset=utf-8 in the headers, > and my mysql tables and text fields are utf8_general_ci. > > So at this point I'm at a bit of a loss as to what I should do next. > > Any ideas? write and use your own utf-8 aware modifier, like this one: <?php function smarty_modifier_mb_capitalize($string, $uc_digits = false) { return preg_replace_callback('!\b\w+\b!u', 'smarty_modifier_mb_capitalize_ucfirst', $string); } function smarty_modifier_mb_capitalize_ucfirst($string) { return mb_strtoupper(mb_substr($string[0], 0, 1)) . mb_substr($string[0], 1); } ?> > Thanks! > Cameron > > -- > Smarty General Mailing List (http://smarty.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php

« previous php.smarty.general (#13350) next »