Autor Tema: Personalizar avisos de AEMET en nuestra web  (Leído 1102 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado CarlosLSev

  • Full Member
  • ***
  • Mensajes: 127
    • Ver Perfil
    • MeteoViso
  • Estación: Waldbeck Halley- ESAND4100000041520A
Re:Personalizar avisos de AEMET en nuestra web
« Respuesta #30 en: 23 de Mayo del 2021, 13:17:45 pm »
Voy a volver a darte la lata....
En la personalización que hice de tu script si pruebo un código de solo alerta amarilla salen acentos correctos.
Pero si pruebo un código con 2 alertas (amarilla y naranja) los acentos salen mal
Me explico
Si en la linea escribo así:
Código: [Seleccionar]
$nombrezona = "Campiña Sevillana";  // Nombre de la zona del aviso.La web (mobile.php) se ve perfecta pero el titulo del aviso sale asi:
Avisos AEMET Campiña Sevillana Alerta Amarilla + INFO
Si uso
Código: [Seleccionar]
$nombrezona = "Campiña Sevillana";  // Nombre de la zona del aviso.Me pasa lo mismo pero al reves
Se ve el titulo de avisos bien, pero todos los acentos de la web mobile salen mal :(

Código usado es el 610404

Llevo unos días dándole vueltas, cierto es que solo puedo probar cuando tengo un código con 2 alertas.
Básicamente lo modificado es que salgan las bandas a lo ancho y del fondo del color de la alerta, y que al pulsar en cualquier lado te salga el popup o en caso de no haber alertas te envié a la web de la aemet.
Se que el problema esta en
Código: [Seleccionar]
$riesgo = ['', '<div class="avisos1">Avisos AEMET '.$nombrezona.' Alerta Roja + INFO</div class>', '<div class="avisos2">Avisos AEMET '.$nombrezona.' Alerta Naranja + INFO</div span class>', '<div class="avisos3">Avisos AEMET '.$nombrezona.' Alerta Amarilla + INFO</div span class>'];

P.D. No se el motivo pero si se usa código de las Islas Canarias estos no funcionan :(

Adjunto php de tu script modificado y de mi mobile.php
« Última modificación: 23 de Mayo del 2021, 16:52:48 pm por CarlosLSev »

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.605
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Personalizar avisos de AEMET en nuestra web
« Respuesta #31 en: 23 de Mayo del 2021, 19:45:58 pm »
Hola de nuevo Carlos

Todo lo de las codificaciones es un lío y más en las páginas web de Saratoga que usan charset para el europeo occidental charset=ISO-8859-1
Después están también las codificaciones de las páginas. Por ejemplo la que has adjuntado de avisosaemetmobile.php está codificada en UTF-8 y la de mobile.php en ANSI. Todo eso lo puedes ver abriendo los archivos con Notepad++ y viendo en su barra inferior derecha la codificación. Para codificarlo a UTF-8 ve a Codificación -> Codificar en UTF-8 sin BOM

Si incrustas scripts te encuentras con que se llaman a diferentes charsets. Abre esto en el navegador view-source:http://www.meteoviso.es/mobile.php (en Chrome por ejemplo) y verás cómo sale al principio una línea con charset="utf-8" y más adelante otra con content="text/html; charset=ISO-8859-1" además de varias declaraciones de documento !DOCTYPE etc ya digo que por se incluyen diferentes scripts.
Es uno de los quebraderos de cabeza de estas páginas que se llaman unas a otras como una muñeca rusa y a la hora de personalizarlas aparecen esos problemas con la codificación del charset en la cabecera y de la página.

En cuanto a lo de los avisos de Canarias.... gracias por ponerlo, la verdad es que nunca los había probado y ahora entiendo una cosa de la URL del json que lee los avisos.... en la línea que los llama
Código: [Seleccionar]
[b]$jsons[] = json_decode(file_get_contents('http://www.aemet.es/es/api-eltiempo/resumen-lista-avisos/PB/'.$lista[$i].'T12:00:00+02:00/D+0/'.$codigozona));[/b] cambia PB por CAN
PB es para la Península y Baleares y CAN obviamente para Canarias. Como se ve en la página de avisos de AEMET hay dos pestañas para cada zona.

Paciencia con lo de la codificación porque es un lío.



Archena, Valle de Ricote (Murcia). 120 msnm. 19.428 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado CarlosLSev

  • Full Member
  • ***
  • Mensajes: 127
    • Ver Perfil
    • MeteoViso
  • Estación: Waldbeck Halley- ESAND4100000041520A
Re:Personalizar avisos de AEMET en nuestra web
« Respuesta #32 en: 23 de Mayo del 2021, 23:12:08 pm »
Es increíble, el ruido que me están dando los caracteres especiales. Creo que ya di con la solución, aunque pendiente de probar con próximas alertas amarillas y naranjas. Espero que si algún día hay una roja no vuelva a empezar
Con
Código: [Seleccionar]
$nombrezona = 'Campi&ntilde;a Sevillana';  // Nombre de la zona del aviso.
$riesgo = ['', '<div span class="avisos1">Avisos AEMET-'.$nombrezona.' Alerta Roja</div span>', '<div span class="avisos2">Avisos AEMET-'.$nombrezona.' Alerta Naranja</div span>', '<div span class="avisos3">Avisos AEMET-'.$nombrezona.' Alerta Amarilla</div span>'];
No puede tener espacios en blanco entre AEMET y $nombrezona  si añado un &nbsp; tampoco.
No es lo mas practico, pero probé bastante cosas que hay en Internet sobre la codificación y nada ;(
Seguiré investigando y gracias!!!