Solución a strtoupper con tildes [php]
|Este es un dato rápido para los que han intentado convertir una cadena de texto con tildes a mayúsculas con strtoupper y que da este tipo de resultado:
sábado ==> SáBADO
La solución es utilizar la función mb_strtoupper, que tiene las propiedades del carácter Unicode, es decir que la transformación del texto no se ve afectado por la configuración regional.
Ejemplo:
echo mb_strtoupper('sábado','utf-8');
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> PRUEBA 1:<br/> strtoupper('sábado') = <?php echo strtoupper('sábado'); ?> <br/><br/> PRUEBA 2:<br/> strtoupper('quiñones') = <?php echo strtoupper('quiñones'); ?> <br/><br/> Forma correcta con <b>mb_strtoupper</b> <br/> PRUEBA 3:<br/> strtoupper('sábado') = <?php echo mb_strtoupper('sábado','utf-8'); ?> <br/><br/> PRUEBA 4:<br/> strtoupper('quiñones') = <?php echo mb_strtoupper('quiñones','utf-8'); ?> </body> </html> |
3 comentarios
Excelente, gracias!
Excelente aporte, muchas gracias!
Lo bueno, si breve, dos veces bueno. Gracias!