Foros del Web » Programando para Internet » PHP »

Problema con acentos y Ñ en Cutenews [Solucion]

Estas en el tema de Problema con acentos y Ñ en Cutenews [Solucion] en el foro de PHP en Foros del Web. Hola que tal eh estado buscando alguna solucion al problema de los acentos y las Ñ en cutenews, es decir, cuando se agrega alguna noticia ...
  #1 (permalink)  
Antiguo 06/06/2011, 15:36
 
Fecha de Ingreso: abril-2009
Mensajes: 1
Antigüedad: 15 años, 7 meses
Puntos: 2
Problema con acentos y Ñ en Cutenews [Solucion]

Hola que tal eh estado buscando alguna solucion al problema de los acentos y las Ñ en cutenews, es decir, cuando se agrega alguna noticia desde el panel y se pone alguna Ñ o acento, luego, en donde imprimes las noticias con include("cutenews/show_news.php"); aparece un signo de pregunta o cuadrado o simbolo raro.
El tema es que encontre mucha gente con el problema pero nadie dio con la solucion
(no me funciono lo de agregar la linea )
Código HTML:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
La manera de resolverlo es la siguiente:
Editar el archivo "/cutenews/inc/functions.inc.php" en la linea 94 aprox:
Código PHP:
    'º' => '&ordm;',
    
'»' => '&raquo;',
    
'¼' => '&frac14;',
    
'½' => '&frac12;',
    
'¾' => '&frac34;',
    
'¿' => '&iquest;'
); 
agregar al final las siguientes lineas:
Código PHP:
        'á' => '&aacute;',
    
'Á' => '&Aacute;',
    
'é' => '&eacute;',
    
'É' => '&Eacute;',
    
'í' => '&iacute;',
    
'Í' => '&Iacute;',
    
'ó' => '&oacute;',
    
'Ó' => '&Oacute;',
    
'ú' => '&uacute;',
    
'Ú' => '&Uacute;',
    
'ñ' => '&ntilde;',
    
'Ñ' => '&Ntilde;',
    
'ü' => '&uuml;',
    
'Ü' => '&Uuml;

Acordate de agregarle la coma al que antes estaba en ultima posicion!!!

Te debe quedar asi:
Código PHP:
$HTML_SPECIAL_CHARS = Array (    // Master array replaced ALWAYS !!!

    
'”' => '”',
    
'“' => '“',
    
'œ' => 'œ',
    
'™' => '™',
    
'’' => '’',
    
'‘' => '‘',
    
'‰' => '‰',
    
'…' => '…',
    
'€' => '&euro;',
    
'¡' => '&iexcl;',
    
'¢' => '&cent;',
    
'£' => '&pound;',
    
'¤' => '&curren;',
    
'¥' => '&yen;',
    
'¦' => '&brvbar;',
    
'§' => '&sect;',
    
'¨' => '&uml;',
    
'©' => '&copy;',
    
'ª' => '&ordf;',
    
'«' => '&laquo;',
    
'¬' => '&not;',
    
'*' => '*',
    
'®' => '&reg;',
    
'¯' => '&macr;',
    
'°' => '&deg;',
    
'±' => '&plusmn;',
    
'²' => '&sup2;',
    
'³' => '&sup3;',
    
'´' => '&acute;',
    
'·' => '&middot;',
    
'¸' => '&cedil;',
    
'¹' => '&sup1;',
    
'º' => '&ordm;',
    
'»' => '&raquo;',
    
'¼' => '&frac14;',
    
'½' => '&frac12;',
    
'¾' => '&frac34;',
    
'¿' => '&iquest;',
    
'á' => '&aacute;',
    
'Á' => '&Aacute;',
    
'é' => '&eacute;',
    
'É' => '&Eacute;',
    
'í' => '&iacute;',
    
'Í' => '&Iacute;',
    
'ó' => '&oacute;',
    
'Ó' => '&Oacute;',
    
'ú' => '&uacute;',
    
'Ú' => '&Uacute;',
    
'ñ' => '&ntilde;',
    
'Ñ' => '&Ntilde;',
    
'ü' => '&uuml;',
    
'Ü' => '&Uuml;'
); 
Esto lo que hará es reemplazar las letras con tilde y las Ñ por su entidad HTML al momento de publicar la noticia.

Espero que a alguien le sirva.

Saludos
  #2 (permalink)  
Antiguo 06/06/2011, 15:40
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Problema con acentos y Ñ en Cutenews [Solucion]

htmlentities("soluciona todos tus problemas, incluso las tíldés, §imbolos y eñes");
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #3 (permalink)  
Antiguo 06/06/2011, 15:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Problema con acentos y Ñ en Cutenews [Solucion]

Pregunta, ¿no hay alguna forma de que puedas ingresar htmlentities antes de que despliegue la información? Digo, es bueno saber como hacerlo de diferentes formas, pero sería mejor que se hiciera antes de mostrar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 06/06/2011, 16:40
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas - Venezuela
Mensajes: 52
Antigüedad: 13 años, 8 meses
Puntos: 6
Respuesta: Problema con acentos y Ñ en Cutenews [Solucion]

Dos cosas... Usa un IDE que te permita guardar los PHP en UTF-8, coloca antes de los metas y cualquier salida:

Código PHP:
Ver original
  1. header('Content-type: text/html; charset=utf-8');

Si usas bases de datos, que su charset sea UTF-8, manten el meta que pusiste:

Código PHP:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Y no te hará falta ni siquiera escapar los caracteres especiales, los escribes directo en tu código y en tu db y se muestran bien.

Combinación ideal: archivos php, meta, header de salida y bases de datos TODOS en UTF-8 y listo. Yo tuve muchos problemas con eso hasta que me di cuenta que tenía que uniformar los charset EN TODO.
  #5 (permalink)  
Antiguo 06/06/2011, 16:45
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas - Venezuela
Mensajes: 52
Antigüedad: 13 años, 8 meses
Puntos: 6
Respuesta: Problema con acentos y Ñ en Cutenews [Solucion]

Cita:
Iniciado por stramin Ver Mensaje
htmlentities("soluciona todos tus problemas, incluso las tíldés, §imbolos y eñes");
Con uniformar los charset todo a UTF-8, no necesitarás jamás usar los htmlentities.

Si el archivo se guarda con charset utf-8, se leerá de la misma forma, los caracteres especiales se leerán, pero con el header le notificas al browser que la petición viene en utf-8 y con el meta le informas al renderizador del browser que charset usara con los caracteres.

Y MAS NUNCA usaras conversores de html a caracteres especiales, tan solo en el URL.

Saludos
  #6 (permalink)  
Antiguo 26/07/2011, 12:01
Avatar de ermuni  
Fecha de Ingreso: noviembre-2010
Mensajes: 33
Antigüedad: 14 años
Puntos: 1
Respuesta: Problema con acentos y Ñ en Cutenews [Solucion]

Yo tengo este problema, pero solo me ocurre en los comentarios que escriba la gente, no lo entiendo la verdad. alguna ayuda?

Gracias
  #7 (permalink)  
Antiguo 02/08/2011, 17:34
 
Fecha de Ingreso: agosto-2009
Mensajes: 3
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Problema con acentos y Ñ en Cutenews [Solucion]

mmm yo probe lo del primer post pero no me sirvio =(

Pero encontre una buena y simple solucion =)!!!

abren ese archivo
cutenews/inc/addnews.mdu

y buscan

$full_story = replace_news("add", $full_story, $n_to_br, $use_html);
$short_story = replace_news("add", $short_story, $n_to_br, $use_html);
// $title = replace_news("add", $title, TRUE, $use_html);
$title = replace_news("add", $title, TRUE, FALSE); // HTML in title is not allowed


y lo reemplazan por:


$full_story = replace_news("add", utf8_encode($full_story), $n_to_br, $use_html);
$short_story = replace_news("add", utf8_encode($short_story), $n_to_br, $use_html);
// $title = replace_news("add", utf8_encode($title), TRUE, $use_html);
$title = replace_news("add", utf8_encode($title), TRUE, FALSE); // HTML in title is not allowed

y listo! agregué
utf8_encode
antes de cada variable y funciona perfectamente ^^


pd. para los comentarios abrias de buscar algun archivo de comentarios y buscar $comments o algo asi
  #8 (permalink)  
Antiguo 02/08/2011, 19:51
 
Fecha de Ingreso: julio-2010
Mensajes: 523
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problema con acentos y Ñ en Cutenews [Solucion]

Pero una cosa....el htmlentities que no tambien sirve porsea si quieren ingresar algun codigo malicioso a tu web? ps por ejemplo los <> % & ( ) ; "" todo eso tiene una entidad html y si utilizas html las cosas cambian ya que le das otro valor ps...es mejor....o me equivoco...yo utilizo ese htmlentites y otro mas pero no recuerdo el nombre....en conclusión pienso el htmlentities es mas seguro

Etiquetas: acentos, cutenews
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 10:38.