Foros del Web » Programando para Internet » PHP »

acentos strtoupper

Estas en el tema de acentos strtoupper en el foro de PHP en Foros del Web. Hola, tengo problemas con la función strtoupper. Las letras con acentos no las pasa a mayúsculas. Ya se que podria utilizar funciones del tipo ereg_repalce, ...
  #1 (permalink)  
Antiguo 25/03/2007, 10:42
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 21 años, 10 meses
Puntos: 1
acentos strtoupper

Hola, tengo problemas con la función strtoupper. Las letras con acentos no las pasa a mayúsculas. Ya se que podria utilizar funciones del tipo ereg_repalce, pero me gustaría solucionarlo sin tener q modificar todos los strtoupper q tengo en mi web.

He probado con el setloacle pero solo me funciona con las funciones de fechas, pero con las de cadenas nada de nada...

he probado lo siguiente

Código PHP:
setlocale(LC_CTYPE'es_ES.utf8');

echo 
strtoupper("ála èlà pé í"); 
y me devuelve esto "áLA èLà Pé í"

si pongo esto

Código PHP:
setlocale(LC_ALL'es_ES.utf8');

echo 
strftime("%B"); 
me deveulve "marzo"

Alguna idea?

Gracias.
  #2 (permalink)  
Antiguo 26/03/2007, 03:26
 
Fecha de Ingreso: octubre-2003
Mensajes: 33
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: acentos strtoupper

Bueno, una cutrería, pero que te puede venir bien es:

Código PHP:
function pasarMayusculas($cadena) {
$cadena strtoupper($cadena);
$cadena str_replace("á""Á"$cadena);
$cadena str_replace("é""É"$cadena);
$cadena str_replace("í""Í"$cadena);
$cadena str_replace("ó""Ó"$cadena);
$cadena str_replace("ú""Ú"$cadena);
return (
$cadena);

Y llamarla cuando lo necesites, aunque es bastante raro, porque yo he usado strtoupper mil veces y funciona correctamente.

Última edición por verm83; 26/03/2007 a las 03:36
  #3 (permalink)  
Antiguo 26/03/2007, 06:30
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 21 años, 10 meses
Puntos: 1
Re: acentos strtoupper

Gracias por responder... si no consigo q funcione pues tendre´q ahcer alguna cutreria de estas...

por cierto se me ha olvidado decir... que con servidor windows me funciona pero con linux no, concretamente con ubuntu server.
  #4 (permalink)  
Antiguo 26/03/2007, 14:50
 
Fecha de Ingreso: octubre-2003
Mensajes: 33
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: acentos strtoupper

Uff, ahí ya me pierdo, porque siempre lo he usado bajo Windows, no ha coincidido que haya usado esa función en distribuciones Linux... igualmente, no tendría porqué afectar, pienso yo.
  #5 (permalink)  
Antiguo 04/07/2007, 15:25
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Re: acentos strtoupper

Podemos cambiar en LOCALE del archivo para indicar cual es el idioma utilizado:

setlocale(LC_CTYPE,"es_ES");

Así se soluciona
  #6 (permalink)  
Antiguo 04/07/2007, 15:30
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 21 años, 10 meses
Puntos: 1
Re: acentos strtoupper

Pues va ser q no... ya prové en su dia todas las combinaciones, es más.. esa fue la primera q prové ya q es la q había visto por internet..

pero en linux no funciona.

Gracias de todos modos. Al final opté por crear-me una funcion stroupper propia, ya q no la utilizaba demasiado y cambiar todas las veces q salia con el dream es muy fácil.

Salu2.
  #7 (permalink)  
Antiguo 16/07/2009, 13:47
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: acentos strtoupper

strtr(strtoupper($cadena),"àèìòùáéíóúçñäëïöü","ÀÈÌ ÒÙÁÉÍÓÚÇÑÄËÏÖÜ");

Fuente: http://todo-php.blogspot.com/2007/07...ayusculas.html

PD: Se que es un tema viejo, pero es que lo encontré en google y realmente esta solución vale la pena...
__________________
Esteban Quintana
  #8 (permalink)  
Antiguo 16/07/2009, 15:58
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: acentos strtoupper

Agregando: www.php.net/mb_strtoupper

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #9 (permalink)  
Antiguo 14/08/2009, 21:09
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: acentos strtoupper

mb_strtoupper($val,'utf-8')
  #10 (permalink)  
Antiguo 03/03/2010, 10:24
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 14 años, 7 meses
Puntos: 8
Respuesta: acentos strtoupper

Pero para que mb_strtoupper funcione debes tener activada extension "php_mbstring"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:03.