Comunidad de diseño web y desarrollo en internet online

acentos desde admin cliente al php

Citar            
MensajeEscrito el 03 Feb 2009 10:42 pm
Hola a todos, tengo una web, q no consigo q reproduzca correctamente los acentos, ni caracteres latinos. (el problema solo en el menu).

Os explico como está estructurada.... Está hecha en Flash, el menu son textos dinamicos q a traves de un php (index.php) recoge la info de un admin del cliente.
El cliente entrá en su administrador, escribe el menú q necesita, y luego ya lo recoge flash a traves del php claro.
Bien, en Flash, está todo correcto. El problema está a la hora de recoger datos el php del admin. En el php, os pongo el code de una de las opciones del menú:

Código PHP :

echo "principal1=".$principal1;
for ($i=0; $i<count($seccionNom1); $i++){
   echo "&subseccion1".$i."=".$seccionNom1[$i];
}
for ($i=0; $i<count($dirNom1); $i++){
   echo "&dir1".$i."=".$dirNom1[$i];
}


Creo q el problema está aqui, pq en flash no es,y el admin creo q tampoco. ¿debo añadir algo al php? algo de utf8 o no? si es así, que y donde? Pq no lo tengo muy claro.

A ver si alguién puede orientarme, que llevo ya tiempo dándole vueltas y no lo consigo.

PD: El php está codificado en "Occidental (ISO latino 1)", pero tb probé con "unicode utf8, y tampoco va.

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 01:19 am
intenta

Código :

echo htmlentities($row['miinfo'], ENT_COMPAT, 'iso-8859-1');


el iso-8859-1 e iso-8859-2 son útiles al presentar acentos y eñes.

SALUDOS =)

Por gente21

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 08:39 am

Hapki escribió:

Hola a todos, tengo una web, q no consigo q reproduzca correctamente los acentos, ni caracteres latinos. (el problema solo en el menu).

Os explico como está estructurada.... Está hecha en Flash, el menu son textos dinamicos q a traves de un php (index.php) recoge la info de un admin del cliente.
El cliente entrá en su administrador, escribe el menú q necesita, y luego ya lo recoge flash a traves del php claro.
Bien, en Flash, está todo correcto. El problema está a la hora de recoger datos el php del admin. En el php, os pongo el code de una de las opciones del menú:

Código PHP :

echo "principal1=".$principal1;
for ($i=0; $i<count($seccionNom1); $i++){
   echo "&subseccion1".$i."=".$seccionNom1[$i];
}
for ($i=0; $i<count($dirNom1); $i++){
   echo "&dir1".$i."=".$dirNom1[$i];
}


Creo q el problema está aqui, pq en flash no es,y el admin creo q tampoco. ¿debo añadir algo al php? algo de utf8 o no? si es así, que y donde? Pq no lo tengo muy claro.

A ver si alguién puede orientarme, que llevo ya tiempo dándole vueltas y no lo consigo.

PD: El php está codificado en "Occidental (ISO latino 1)", pero tb probé con "unicode utf8, y tampoco va.


Bueno, en realidad lo primero que tienes que ver en estos casos es la codificación de la base de datos, porque aunque sólo te salga en un sitio puntual, esto te puede afectar más tarde al resto de la web. Lo más probable es que tengas la DB en utf8 y los archivos en ascii, debes convertirlos también a utf.

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox
Citar            
MensajeEscrito el 06 Feb 2009 09:20 am
Cuándo te refieresa a los archivos, te refieres a los php's?

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 09:30 am
Perdón, se me olvidó preguntar a gente-21. Lo q me dices, ¿dónde exactamente tengo q ponerlo? Tengo q "englobar" todo el menu, en la parte q me dices de "mi info"? pero el menú está estructurado como os digo al principio, no puedo hacer un echo a todo a la vez, como lo hago entonces? Podrías ponerme un ejemplo, con la parte del code q expongo, si fuera ahí dónde tengo q ponerlo? Asi me quedaría mucho más claro.... si no te importa, claro está.....

Gracias por ayudarme....

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 11:01 am
Ahora en la BBDD el cotejamiento está en utf8 y los php's codificados a utf8 . Pero sigue sin funcionar los acentos :(

Y en la parte html del php, tengo:

Código HTML :

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


tengo el charset, q gente-21 me sugiere, pero está en la parte html del php, pero aún así, no funciona.

Es que no se me ocurre q más cambiar :( ... ¿A alguién se le ocurre alguna idea más? Pq será más que bienvenida....

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 12:14 pm

Hapki escribió:

Ahora en la BBDD el cotejamiento está en utf8 y los php's codificados a utf8 . Pero sigue sin funcionar los acentos :(

Y en la parte html del php, tengo:

Código HTML :

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


tengo el charset, q gente-21 me sugiere, pero está en la parte html del php, pero aún así, no funciona.

Es que no se me ocurre q más cambiar :( ... ¿A alguién se le ocurre alguna idea más? Pq será más que bienvenida....

lo suyo sería

Código HTML :

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

si no el navegador te va a intentar interpretar caracteres utf como asci y no se va a ver
pero de todas formas a lo que me refiero es la codificacion del archivo en sí (los php's) qué editor usas??es que dependiendo del que sea se puede ver o no...

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox
Citar            
MensajeEscrito el 06 Feb 2009 01:53 pm
según tu ejemplo quedaría:

Código :

echo "principal1=".$principal1; 
for ($i=0; $i<count($seccionNom1); $i++){ 
   echo "&subseccion1".$i."=".htmlentities($seccionNom1[$i], ENT_COMPAT, 'iso-8859-1'); 
} 
for ($i=0; $i<count($dirNom1); $i++){ 
   echo "&dir1".$i."=".htmlentities($dirNom1[$i], ENT_COMPAT, 'iso-8859-1'); 
}


O si prefieres cambiar el iso a utf-8 para tener todo parejo pues que mejor

Por gente21

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 02:00 pm
Se me olvidó comentarte que una vez que hagas esto pierdes la capacidad e usar tags en HTML en la información generada por "echo", no es gran problema pero vale, tenerlo en cuenta.

Por gente21

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 03:23 pm
Johny: Ya probé tb a poner utf-8 en el charset, pero tampoco funcionó ... El editor q uso es Smultron. Y ahí elijo tb la codificación del archivo, q está en utf-8.

gente21: si uso lo q me dices en el php, y como dices q no se podrá usar los tags html, tengo q decir q en el mismo php, tengo partes en html, pero el menú es cómo os ponía antes, sin tags dentro de él, pero si fuera de él a lo largo del php, ¿afecta entonces?

Ante todo, mil gracias por la ayuda.

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 03:30 pm
no afecta el HTML de tu página, afecta solo el texto que está dentro del echo ($seccionNom1[$i]). ahora, estoy viendo que lo estas imprimiendo como variable, más bien es flash quien checará que los acentos se pongan, para esto usas la instrucción

System.useCodepage = true;
//en tu script de flash y listo

Por gente21

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 05:43 pm
Es q eso ya lo tengo puesto, lo del useCodepage, es lo primero q puse... pero nada.

Te digo como funciona, tengo varios txt dinamicos en flash, q a través del php, llama a las variables, y recoge los datos de una BBDD, q el cliente escribe a través de su administrador.

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 05:50 pm
Ok y solo por no dejarlo al aire, ¿estás segura de que tus textos dinámicos en flash tienen embebidos los caracteres con acentos? y si es así ¿la fuente que usas contiene acentos?, yo se que suena lógico pero yo seguido me enojo con mi impresora porque no funciona, solo para descubrir que está desconectada =).

Por gente21

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Feb 2009 11:01 am
Si, tengo la fuente embebida en el flash, y luego en Incorporar, he escrito los caracteres necesarios, además de añadir casi todos de la lista. Y la fuente si tiene acentos, ya que la he visto usar en otras webs con acentos, así q si...

Pero lo extraño es, que no es q salgan simbolos raros en lugar de las letras acentúadas, cómo suele pasar, la letra se ve bien, sólo que por ejemplo, la ñ en minuscula se ve bien, en mayuscula ya aparece simbolo raro, y lo mismo pasa con la o acentúada. Y luego con la A mayuscula acentúada, se reproduce bien, pero se pega a la siguiente letra, te pongo una captura de lo que le pasa a la A .

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Feb 2009 02:07 pm
lo puedes subir a la web para verlo plis?

Por gente21

79 de clabLevel



 

chrome
Citar            
MensajeEscrito el 07 Feb 2009 06:04 pm
¿Qué es lo que necesitas que suba exactamente?

Si es el menú, para verlo, te mando la captura completa, como verás las Ñ están en minusculas para q se reproduzcan bien, ya que en mayusculas no lo hace, y lo mismo con la Ó . Y luego la Á se junta demasiado con la siguiente letra.



Ya me dirás...

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Feb 2009 06:15 pm
Hapki, para ser sincero ya agoté todos mis recursos :? , lo único que se me ocurre es cambiar de fuente o aumentar el espaciamiento entre los textos (lo que no sé si se puede hacer con texto tipo bitmap), si lo resuleves avísanos para saber como plis.

Por gente21

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Feb 2009 07:19 pm
Ok gente21, no importa, la verdad es que agradezco todo el tiempo q me has dedicado, te lo agradezco de verás, y por supuesto, que cuándo lo averigue (si algún día lo consigo, lo posteo) ...

Pero ya que estamos, vamos si quieres, a barajar otras opciones, que he leído en otros foros, pero no consigo respuesta de cómo hacerlo.... te pego el texto:

El fallo más habitual en estos casos suele ser que el servidor web está enviando la cabecerá con otra codificación -muchas veces es por defecto ISO-8859-1-. Puedes
cambiarlo editando el archivo de configuración de apache, o mediante un
archivo .htaccess añadiendo una línea como

AddDefaultCharset UTF-8

o bien mandando la cabecera desde PHP, antes de escribir nada por la salida estándar:

header("Content-Type: text/html; charset=utf-8");


Bien, ya probé en el php, poner el charset utf-8, pero ahí me dice algo de la configuración de mi apache, y puede q sea una probable solución, ya que suelo tener problemas de acentos en todas mis webs .... pero no tengo ni idea de cómo llevar a la práctica lo q me dice ahí.

Otra SOLUCIÓN puede ser.... el crear un script php, que haga q el menú lo q se escriba, q reconozca por ejemplo, la letra Á y q al escribir la Á en el admin del cliente, devuelva Á correctamente? espero explicarme, pq leí algún post por ahí sobre ello, pero no lo encuentro, ni lo leí en profundidad. Era con un bucle....

Bueno esas son mis dos últimas ideas tb.... si no lo saco, ya no sé qué hacer, pq ya le ofrecí al cliente, cambiar de font, pero no quiere.

De nuevo, gracias gente21

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Feb 2009 08:14 am
Hapki, por lo que comentas aseguraría que es problema de Flash, podrías probar con otras tipografías primero para ver si se ve bien??

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox
Citar            
MensajeEscrito el 09 Feb 2009 11:01 am
Si, el resto de tipografias q se usan en la web, se ven perfectamente, incluso esa misma tipografia usada en el fla en otras partes (q no es en el menú) se ve correctamente... es sólo en el menú. También es en el menú dónde se carga externamente los textos desde la BD.

Es sólo el menú... pq la tipo la uso bien en otros sitios :S ... Así q no sé de q es el problema....

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Feb 2009 12:03 pm
que paranoia más grande de problema! :S y si sacas los datos en texto plano o html lo ves bien??algo debe haber...

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox
Citar            
MensajeEscrito el 10 Feb 2009 10:27 pm
Perdona no haber contestado antes, he estado super liada, y lo cierto que ya no sé qué hacer, pq tampoco puedo dedicarle mucho más tiempo a esta "gilipollez" pq joe, es increible q no funcione con nada :(

Bueno...ya probé en vez de coger los datos del menú externamente, escribirlos directamente en flash, y así no da ningún problema, el problema está al recoger los datos de la BD.

Y recogiendo desde html, pues no probé, pq de todas formas el cliente no lo quiere, quiere desde su admin.

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Feb 2009 10:40 pm
ya ya, pero no es por eso, sino para ver si los saca bien o mal codificados y a partir de eso saber si tenemos que indagar en flash o en php-mysql... pero bueno, el caso es que ya le has dado solución ;)

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox
Citar            
MensajeEscrito el 11 Feb 2009 10:41 am
Ya le he dado solución?? Cuál?? q no me he dado cuenta... te refieres a escribirlo directamente en flash? Pero el cliente no quiere eso, el quiere modificarlo el mismo... pero.... ahora pensando, podría intentar cargar los datos con xml, en vez de la BD, y el cliente de igual forma podría modificar los datos, y a ver si así se soluciona el problema.... mira, no se me había ocurrido esta opción... voy a ver si encuentro un tuto de como hacerlo y lo pongo en práctica.... en cuánto sepa algo, os aviso :)

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Feb 2009 10:46 am
ah bueno que es dinámico... pues es buena opción esa, de todas formas probaste con otra tipo al final para ver si se mostraba de forma correcta??

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox
Citar            
MensajeEscrito el 11 Feb 2009 03:23 pm
He probado a usar en el menu otra fuente (Arial), y funciona ... pues si, con otra fuente funciona perfecta, pero el cliente, insiste en que quiere esa fuente, así que no me queda más remedio que solucionar el problema....

Yo podría decir, que es problema de la fuente, pero no puede ser, pq el antiguo programador (q hizo la web, yo la estoy actualizando y añadiendo contenidos nuevos) consiguió que funcionase con esa fuente, y nos pusimos en contacto con él para que nos dijera cómo lo hizo, o que lo arreglara él (previo pago, por supuesto), pero no quiso, no quería saber nada.... así que... pues nada, aqui sigo...

Estoy buscando un tuto de xml con el texto dinamico, pero no encuentro ninguno q me satisfaga, ¿alguna sugerencia?

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Feb 2009 04:52 pm
Yo cuando me pico con estas cosas y no doy con la solución suelo repetir el proceso, así que puedes probar a volver a embeber la fuente (con otro nombre o lo que sea) y a ver si es que te has saltado un paso o qué se yo! ;)

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox
Citar            
MensajeEscrito el 25 Jun 2009 12:09 pm
Bueno, pues después de muchos meses y cuándo ya había desistido, la solución me viene sola jeje... al final, (no me gusta dejar un hilo sin resolver) , lo que ocurría es q la font sólo funcionaba correctamente si está instalada en un pc, o cómo yo usaba mac, pues no lo conseguía, al final, lo que hago es publicar mi peli desde mi pc, y todo arreglado... :D

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Jun 2009 02:39 pm
pues mira qué bien!

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.