|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
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? Thanks! Cameron |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
The problem is that regexp expressions DON'T work correctly with UTF-8
strings. Wait until php6 to have it solved On 3/9/06, Cameron Perry <lists@filled.us> 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? > > > Thanks! > Cameron > > -- > Smarty General Mailing List (http://smarty.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Vicente Werner y Sánchez |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
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 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) iD8DBQFEEHXVubKPpFA4n0URAn6RAJsERJ/LZTYiBdauCfW7dEVVcS9bywCdFgiW Cw6Gn4a5Zms57xDsEpzsitU= =Eo1S -----END PGP SIGNATURE----- |
|
![]() |
| Outils de la discussion | |
|
|