Foros del Web » Programando para Internet » PHP »

separar palabra en letras (problema con codificación)

Estas en el tema de separar palabra en letras (problema con codificación) en el foro de PHP en Foros del Web. Hola. Necesito serpara una palabra cogida de un archivo y separarla por letras de forma que cada posición de un array sea una letra de ...
  #1 (permalink)  
Antiguo 08/03/2012, 11:14
boli-sp
Invitado
 
Mensajes: n/a
Puntos:
separar palabra en letras (problema con codificación)

Hola.

Necesito serpara una palabra cogida de un archivo y separarla por letras de forma que cada posición de un array sea una letra de la palabra.

Tengo el siguiente código:
Código PHP:
$string=file_get_contents("prueba.txt");
echo 
$string."<br /><br />";


for(
$i=0$i<strlen($string);$i++)
{
    echo 
$string[$i]." ";

El archivo prueba.txt contiene "bañarse" (sin las comillas).
Al ejecutar, me devuelve:

Código:
bañarse

b a � � a r s e
Estoy casi seguro de que es un problema de codificación, porque si cambio la cabecera html por:

Código HTML:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
y cambio el código php por:

Código PHP:
$string=file_get_contents("prueba.txt");
$string=utf8_decode($string);
echo 
$string."<br /><br />";


for(
$i=0$i<strlen($string);$i++)
{
    echo 
$string[$i]." ";

ya me funciona. Pero no quería cambiar la cabecera porque me afecta al resto del código.

¿Alguien sabe como puedo solucionar esto? Gracias
  #2 (permalink)  
Antiguo 08/03/2012, 11:43
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: separar palabra en letras (problema con codificación)

utiliza utf8_encode, o iconv
  #3 (permalink)  
Antiguo 08/03/2012, 12:23
boli-sp
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: separar palabra en letras (problema con codificación)

dándole vueltas, he encontrado otra forma para no tener que tocar la codificación:

Código PHP:
$string="baño";
echo 
$string."<br /><br />";
echo 
"len: ".strlen($palabra);

for(
$i=0$i<strlen($string);$i++)
{
    echo 
substr($string,$i,1);


Etiquetas: html, letras, palabra
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 02:53.