Eliminar notificaciones de Windows Genuine Advantage (WGA)

El Windows Genuine Advantage es un sistema de microsoft para intentar controlar la ejecución de software pirata en sistemas Windows, incluido el propio sistema operativo.

Cuando se instala este componente (vía windows update), pueden aparecer avisos indicando que tal o cual software no es original, y que podemos estar siendo «víctimas de una falsificación de software».

Cada cual tendrá sus motivos, pero a veces es interesante eliminar este control.

Para ello, hay que seguir estos pasos:

  1. Iniciar Windows en modo seguro (ya sabes, pulsar F8 en el inicio y seleccionar la opción «iniciar windows en modo a prueba de fallos» o «modo seguro»).
  2. Buscar y eliminar los ficheros con nombre «WgaTray.exe» que estén dentro de «C:\Windows\» . Teoricamente debería haber ficheros con ese nombre en:
    • C:\Windows\System32\
    • C:\Windows\System32\dllcache\

    Pero yo sólo lo he encontrado en el primero.

  3. En el «RegEdit», eliminar la carpeta » HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
    Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon\».
  4. Reiniciar Windows normalmente.

Al arrancar Windows, no nos aparecerán las notificaciones de WGA, pero Windows Update volverá a intentar instalarnos el «parche» correspondiente, con lo que es mejor no dejar que Windows Update haga las actualizaciones por su cuenta, sino que nos díga qué cosas hay pendientes para que nosotros seleccionemos qué queremos descargar y actualizar.

Más info: aquí.

Problemas de codificación de caracteres en PHP

A veces, desarrollando webs, se muestran mal los caracteres acentuados, eñes, diéresis, cedillas, y otros pertenecientes a otros idiomas.

No siempre es evidente dónde se encuentra el problema, ya que se pueden producir errores de codificación en la base de datos, en el php, en el cliente web, en los propios ficheros de texto que contienen el PHP, y lo mismo en algún sitio más.

En cualquier caso, a veces viene bien «ver» los bytes exactos que contiene el string que estamos manejando en PHP, porque así podemos saber en qué está codificado. Para eso, siempre utilizo este trozo de código como una traza:

———-8<———-8< ———-8< ———-
$string_sospechosa = $variable_que_contiene_el_string_a_analizar;
for($x=0; $x < strlen($string_sospechosa); $x++) {
echo dechex(ord(substr($string_sospechosa, $x, 1))), » – «;
}
———-8<———-8< ———-8< ———-

De esta forma, vemos qué bytes (en hexadecimal) tiene un determinado string.

Pero una vez que vemos los bytes del string, necesitamos tener a mano información sobre UTF-8 y sobre ISO-8859-1, y para eso entre otras páginas, se puede encontrar la información aquí:

– UTF-8: http://www1.tip.nl/~t876506/utf8tbl.html

– ISO-8859-1: http://casa.colorado.edu/~ajsh/iso8859-1.html

NOTA importante:

En general, para que todo funcione bien sin importar el idioma, hay que:

– hacer que el cotejamiento de la base de datos sea siempre UTF-8.

– los ficheros .php del web deben estar codificados en UTF-8.

– hay que indicar en el HTML generado, que el propio HTML está codificado en UTF-8 mediante el meta:

<meta http-equiv=»Content-Type» content=»text/html; charset=UTF-8″ />

– y hay que decirle al navegador que interprete todo lo que recibe como UTF-8 (menú «view / character encoding / Unicode UTF-8)

– … y rezar.

NOTA sobre IExplorer, UTF-8 y AJAX:

Si se envía un string como parámetro a una página mediante AJAX, es importante que el envío de los parámetros en la llamada HTTPRequest se haga por POST, porque si se hace por GET, el IExplorer cambia la codificación de los parámetros y en el PHP llamado, al recibir los parámtros, estos llegan corrompidos.

El Firefox lo hace bien tanto por GET como por POST, así que… instálate Firefox 🙂

Cómo escribir en VI el caracter «ESC» y el «retorno de carro»

Aun no he contado cómo utilizar macros, pero esto es muy útil precisamente para esas macros.

Para escribir en el texto que estamos editando (estamos en alguno de los modos de edición) el carácter «ESC» o el retorno de carro, hay que hacer esto:

  • ESC (^[):  hay que escribir «ctrl+v <ESC>«. Primero se pulsa «ctrl+v» y luego se pulsa la tecla «ESC». Si «ctrl+v» está mapeado para alguna función como pegar texto, se puede usar en su lugar «ctrl+q«.
  • Retorno de carro (^M): hay que escribir «ctrl+v <enter>«. Igual que antes, si el «ctrl+v» está mapeado, se usa «ctrl+q«.

Pronto más cosas sobre vi.

Más info: aqui