Detectar la conexionn a internet desde una aplicacion AIR

Diciembre 5th, 2009

Como hace tiempo que no escribo ningun tip, aqui va uno de AIR. Se trata de como detectar si disponemos de conexion de internet al ejecutar una aplicacion AIR.

Esta comprobacion es muy sencilla ya que disponemos de una clase de actionscript especifica para realizarla. La clase URLMonitor.

Al instanciar la clase URLMonitor de deberemos pasarle como parametro un URLRequest con una direccion web valida con la que realizar la comprobacion de la conexion a internet.

Código :

var _urlForRequest:URLRequest = new URLRequest("http://www.cristalab.com");
var _monitor:URLMonitor = new URLMonitor(_urlForRequest);

Una vez iniciado el URLMonitor, este lanzar� un evento cada vez que detecte cambios de conexi�n.

Código :

_monitor.addEventListener(StatusEvent.STATUS, onStatusChange);
_monitor.start();

La disponibilidad de conexi�n a internet quedar� guardada en un par�metro booleano dentro del objeto que podremos recuperar y actuar en consecuencia.

Código :

function onStatusChange(e:StatusEvent):void
{
   if(_monitor.available == true)
   {
      //loquesea
   }
   else
   {
      //loquesea
   }
}

Este evento se disparar� siempre que haya un cambio en el estado de la conexi�n, con lo que podremos detectar si perdimos la conexi�n (o la recuperamos) durante la ejecuci�n de nuestra aplicaci�n, y evitar as� posibles fallos de funcionamiento.

Enviar comentario

Tutorial de AMFPHP y Actionscript 3

Diciembre 5th, 2009

AMFPHP es un famoso sistema del lado del servidor para usar Remoting en PHP en conexión con Flash. En este tutorial veremos cómo instalarlo y adaptarlo a Actionscript 3, Flash CS4 y Flex.

Email másivo en PHP con PHPMailer

Diciembre 2nd, 2009

Me pareció interesante hacer este Tip para aquellos que quieran mandar mails de manera sencilla y rápida con la librería PHPMailer. La gran mayoría de personas que programan en PHP, utilizan la función mail() para realizar envíos, ya sean simples o complejos. Pero algunos servidores tienen bloqueada la función mail() de php por cuestiones de seguridad.

PHP Mailer es una librería escrita en php para envío de mails desde una web utilizando una cuenta válida de correo de un servidor de mails. Algunas de las funciones que trae son:

  • Envíos a varios remitentes, con CC, CCO, etc.
  • Soporta 8bits, base64 y binarios
  • Autenticación por SMTP
  • Envíos con HTML
  • Envíos de email con adjuntos
  • Inclusión de imágenes en el correo

Instalación de PHPMailer

Descarga PHPMailer desde la web oficial en Worxware. Una vez descargada la librería, copia los archivos class.phpmailer.php y class.smtp.php al servidor. Crea un archivo php, por ejemplo: “Enviar.php”
En el que escribiremos los siguiente:

Código :

<?php
require("class.phpmailer.php"); //Importamos la función PHP class.phpmailer

$mail = new PHPMailer();

Luego tenemos que iniciar la validación por SMTP:
$mail->IsSMTP();
$mail->SMTPAuth = true; // True para que verifique autentificación de la cuenta o de lo contrario False
$mail->Username = "remitente@dominio.com"; // Cuenta de e-mail
$mail->Password = "************"; // Password

$mail->Host = "localhost";
$mail->From = "remitente@dominio.com";
$mail->FromName = "Nombre a mostrar del Remitente";
$mail->Subject = "Asunto";
$mail->AddAddress("destinatario@dominio.com","Nombre a mostrar del Destinatario");

$mail->WordWrap = 50;

$body  = "Hola, este es un…";
$body .= "<font color='red'> mensaje de prueba</font>";

$mail->Body = $body;

$mail->Send();

// Notificamos al usuario del estado del mensaje

if(!$mail->Send()){
   echo "No se pudo enviar el Mensaje.";
}else{
   echo "Mensaje enviado";
}

?>

Sube el archivo “Enviar.php” al servidor en la misma ubicación que los archivos class.phpmailer.php y class.smtp.php.

Notas:

PHPMailer tiene la posibilidad de enviar archivos adjuntos. Los mismos se pueden agregar de la siguiente forma:

Código :

$mail->AddAttachment("imagenes/img.jpg", "nombre_a_mostrar.jpg");

El primer parámetro la ruta del archivo. El segundo, es el nombre del archivo a mostrar.
También tenemos la posibilidad de agregar cuentas con CC o CCO, con las siguientes líneas:

Código :

$mail->AddCC("cuenta@dominio.com");
$mail->AddBCC("cuenta@dominio.com");

Para indicar si el mensaje contiene HTML:

Código :

$mail->IsHTML(true); // El correo se envía como HTML

Espero que les sea muy útil, cualquier duda escriban en los comentarios o al foro.

Saludos. NicSonic.

Enviar comentario

Instalación de CodeKa, sistema web de facturación

Diciembre 2nd, 2009

Codeka es un sistema de facturación programado en php. Este sistema es capaz de crear nuevos clientes, añadir artículos, vender, posee tesorería, proveedores y demás secciones bastante utiles para cualquier negocio.

CodeKa, software open source para facturar en linea

La instalación de CodeKa es lo que yo llamaría un tanto antigua, ya que no tiene archivo de instalación (típico install.php), si no que hay que instalarlo mediante un SQL que te trae y editar el archivo de configuración.

Instalación de la Base de Datos

Aunque antigua la instalación, no es nada complicada, sería posible hacerla con los ojos cerrados. Lo único que hay que hacer es ir a tu phpMyAdmin e importar el archivo .sql llamado basededatos.sql.

Si se subió bien, habrá creado todas las tablas, una vez echo este paso, pasamos al siguiente.

Configuración de CodeKa

Simplemente hay que editar el archivo config.php y poner los datos que te indican:

Código :

<?php

$Usuario="usuario";
$Password="contraseña";

$Servidor="servidor"; 

$BaseDeDatos="nombre de la base de datos";

?>

No se ni para que diablos pongo el ejemplo arriba, si es que mas claro no puede estar, ¿verdad?

Darle permisos de escritura

Y como ultimo paso hay que darle permisos CHMod 777 al CodeKa.

Como veréis, mas sencillo imposible, y encima, un buen soft.

Saludos

Enviar comentario

MDM Zinc: Conceptos Básicos

Diciembre 2nd, 2009

MDM Zinc 3.0 es un software que nos permite extender las propiedades usadas en Flash para crear aplicaciones robustas de escritorio. Podemos crear instaladores, leer y escribir archivos hasta crear nuestro propio navegador web.

Algo así como lo que hace AIR, pero sin complicarnos demasiado, a mi personalmente me gusta más MDM Zinc por su libertad, pero es una porquería en documentación. Intentaré resolver poco a poco los dilemas de documentación.

En este tip abordaremos los temas principales para crear un proyecto desde cero con MDM Zinc, aunque no haremos nada de código aun.

Creando Nuestro Primer Proyecto


Conceptos básicos de una aplicación con MDM Zinc

Esto rara vez lo encontrarán en la Web, por ello es bueno tener en cuenta los siguientes aspectos:

Forms

MDM Zinc trabaja con "forms", que son básicamente películas flash standalone que genera desde sus .SWF. Un "mainform" puede tener a su vez múltiples "sub-forms" para ayudarse en sus tareas. Todos los forms pueden conectarse y hasta moverse entre sí. Para este ejemplo usaremos un solo form.

Ventanas

Zinc nos permite personalizar nuestras ventanas de manera fácil. Haciendo doble click sobre nuestro form, podremos ver un menu "Window" con las siguientes opciones:

  • Style: Que tipo de ventana usaremos. Puede ser Standard (Normal), Alpha (Para transparencias de 0 al 100% de alpha), Transparente (Completamente transparente) o Masked (Recortada con un BMP de recorte).
  • Buttons: Que botones deseamos que contenga nuestro form. Maximize, Minimize, Close.
  • State: Como queremos que abra el form ni bien ese ejecutado. Standard (Normalmente), Maximized o Mimized.

Position

Nos permite posicionar al centro nuestra ventana. Aunque desde el panel "Windows Properties" podremos configurar valores personalizados de X y Y.

Applications Tab

Nos permite configurar nuestra aplicación en los siguientes aspectos:

  • Aplication Type: Podemos configurar si será una aplicación para escritorio (Desktop), salva pantallas (ScreenSaver) o para aplicaciones "Kiosk", que son las aplicaciones estilo un ATM.
  • Aplication Name: Configura como se llamará nuestro .exe al ser exportador por Zinc.
  • Aplications Icons: Aplication Icon y Tray Icon son los iconos que aparecerán en nuestro .exe y una vez este mimizado en el tray bar. Cuidado: Haganlo con Microangelo o similares el .ico, no renombren un .JPG a .ICO porque se morirá Zinc.
  • Show in Tray/Show in TaskBar: Permite configurar si será visible la aplicación en el Tray Bar y en el TaskBar. Es útil cuando se arman aplicaciones "invisibles".
  • Window Stay on Top: Configura la aplicación para que mientras este abierta se mantenga siempre sobre las ventanas. Atención: El focus se perderá aunque este al "Top" de todo.
  • Versión Info: Configura los datos de versión, ideales si estamos creando una aplicación estilo software.
  • Splash Screen: Permite configurar nuestro form con las propiedades de un splash screen (Una ventana de "Bienvenida" por decirlo de alguna forma).
  • Screen Saver: Permite configurar nuestro form con las propiedades específicas de screen saver, en caso de haber declarado el proyecto como tal.
  • Trial: Permite configurar nuestro form para que en N tiempo deje de funcionar. Incluso ponerle un Serial Number. Ideal para software licenciatario.

Forms Tab

Desde aquí podremos controlar nuestro "mainform" y los "subforms" asociados.

Extensions Tab

Zinc funciona haciendo uso de ciertas, clases por así decirlo, o extensiones. Estas extensiones solo funcionan en el caso de estar embebidas dentro del player al crear la exportación final. Para que esto funcione realmente, debemos ir al tab extensions, y "tildar" aquellas que necesitemos. Por ejemplo: Si estamos trabajando con ScreenCaptures, tildaremos "Images".

Windows properties

Desde aquí podremos configurar las bases de nuestra ventana con más precisión que antes. Tenemos básicamente los siguientes conceptos:

  • Position: Posicionamiento personalizado de nuestra ventana.
  • Size: Control personalizado del tamaño de la ventana.
  • Window: Propiedades varias de la ventana como Estilo, botones, etc…
  • Style Properties: Como lo dice, propiedades de estilo de la ventana. Desde aquí podremos "transparentar" nuestro window por ejemplo. Para usarlo hay que modificar las instancias "Type".
  • Mouse: Permite controlar justamente eso, que "clicks" del mouse usaremos como inputs de nuestro form.

Saludos y espero lo encuentren de utilidad

Enviar comentario

Monitor de servidor en PHP

Diciembre 2nd, 2009

Hace unos días me surgió la necesidad de monitorear el estado de un servidor (si esta UP o DOWN) y recibir notificaciones via e-mail cuando se cayera. Probé un par de servicios gratuitos, pero sólo realizaban comprobaciones cada 30 minutos, por ejemplo.

Entonces se me ocurrió hacerlo por mí mismo, y conseguí realizarlo utilizando un servidor de hosting gratuito como 00webhost, realizando comprobaciones cada 5 minutos y notificando las caídas via e-mail al instante.

Código de PHP para monitoreo de servidores

Debemos crear una cuenta de usuario gratuita en 00webhost.com. No es necesario que registremos un dominio .com personalizado, simplemente utilizamos un subdominio de los que nos proveen. Una vez creada la cuenta, vamos a generar un archivo PHP llamado monitor.php que se encargue de verificar el estado del sitio y envie un e-mail de notificacion si esta caido.

Código :

<?php

   require_once ('Libmail.class.php');

   // Function to check response time
   function pingDomain($domain){
      $starttime = microtime(true);
      $file      = fsockopen ($domain, 80, $errno, $errstr, 10);
      $stoptime  = microtime(true);
      $status    = 0;

      if (!$file) $status = -1;  // Site is down
      else {
         fclose($file);
         $status = ($stoptime - $starttime) * 1000;
         $status = floor($status);
      }
      return $status;
   }

   // notificamos via email
   if (pingDomain('www.cordobalquila.com.ar') < 0) {
      $m= new Mail;
      $m->From("mailDesde@mail.com.ar");
      $m->To("mailPara@mail.com");
      $m->Subject("El sitio www.cordobalquila.com.ar esta caido");

      $message= "El sitio esta caido";
      $m->Body($message);
      $m->Send();
   }
?>

Cron Jobs en tu servidor web

La parte mas importante, planificar la tarea para que el servidor realice esta comprobacion cada cierto período de tiempo. Lo positivo es que 00webhost nos permite planificar tareas hasta en intervalos de 5 minutos, que es lo que considero bastante apropiado.

Desde nuestro panel de administración de la cuenta, vamos a la opción Cron Jobs y asignamos intervalos de 5 minutos a la ejecución del comando:

Código :

php -f RUTA_DEL_ARCHIVO/monitor.php

¡Listo, eso es todo! Ahora bien, podemos jugar un poco con este modelo para comprobar el estado de múltiples sitio, guardar stats en una base de datos, etc, etc, etc. Código fuente completo y listo con instrucciones detalladas en mi blog.

Enviar comentario

El diseño no es arte

Diciembre 1st, 2009

Hace unos días se planteo un debate acerca de la funcionalidad del logo para la olimpiadas 2012, ahí surgió también la pregunta de si el diseño es arte o no.

La idea común de ligar al diseño con el arte, específicamente el diseño gráfico, esta dada básicamente por entender al diseño como un fenómeno estético. Intentare explicar las nociones básicas que diferencian al Arte del Diseño.

Hey vos que sos diseñador, haceme un dibujito.

Esta conexión entre el diseño y el dibujo, genera la imagen distorsionada del diseñador como productor de bocetos; y no es que trate de subvalorar al dibujo como habilidad, ya que seguramente es una condición necesaria, aunque no suficiente para llevar a cabo un diseño exitoso. De esta forma el diseño queda relegado únicamente a un toque de calidad visual.

Diseño gráfico o artes gráficas.

El diseñador no termina un trabajo, no es quien se encarga de dejarlo bonito; muy el por el contrario, el diseño, antecede al trabajo. Podríamos definir al diseño como una forma de generar soluciones creativas a un problema especifico. Diseñar es proyectar, es planear un curso, un camino a seguir. Todo proyecto de diseño se plantea en base a una demanda de necesidades, y fija las herramientas para suplir esas necesidades.

Así, el diseño requiere de un discurso coherente, un discurso proyectual, a fin de modular la información transmitir; por eso se habla de diseño de información. El diseño percibe un problema, lo entiende, y lo soluciona de forma creativa, pero esa creatividad nunca debe convertir el discurso en decurso; la meta debe ser siempre la funcionalidad, la decodificacion del problema para que sea entendido y aprehendido masivamente.

Ahora vemos que mientras el diseño responde a necesidades externas, cumpliendo una función de modulador social de la información; el arte es un medio de expresión de aquello que se piensa y/o siente, resultando en una actividad reflexiva. Es decir, que refleja el mundo desde la perspectiva de aquel que lo expresa, satisfaciendo así una necesidad interna. Si bien una obra artística puede pensarse desde un ámbito social como transmisor de un mensaje determinado, no deja nunca de responder a una pulsión interna del artista, eso que llamamos inspiración.

Espero haber arrojado un poco de luz sobre esta injusta pero entendible confusión.

Enviar comentario

Conectar Flash y servidor multiusuario SmartFox Server

Noviembre 30th, 2009

Debido a la demanda de tutoriales de como hacer conexiones entre flash y servidores he decidido hacer este tutorial, con el fin de aportar un poco a la web con mis conocimientos. En este tip veremos cómo utilizar un servidor muy sencillo y útil "SmartFox server", cómo configurar nuestro documento de flash para que trabaje junto a Smartfox Server y aprenderemos a hacer nuestro propio script para probar la conexión entre el servidor y flash, privada o públicamente.

Como descargar y utilizar nuestro Servidor

Descargaremos el servidor SmartFox Server. Existen otros servidores para hacer conexiones entre flash y servidores pero específicamente yo recomiendo este para el tutorial. Este es el Smart Fox Server 1.6.2 version PRO, la ultima de todas. Lo descomprimimos e instalamos. Una vez instalado, se creara la carpeta:
C:\Archivos de programa\SmartFoxServerPRO_1.6.2\ O la ruta indicada durante la instalación.

Configurando nuestro documento de flash

Abrimos flash y creamos un nuevo documento en flash de ActionScript 2.0. No importan las dimensiones yo las dejo en ‘default’ que si no me equivoco, son de 550×400 pixeles. Ahora, vamos a configurar el documento para que este trabaje junto a nuestro servidor.

Pulsamos el botón settings o Configuración, se nos tiene que abrir una ventana como esta:

Luego, Pulsamos en el botón settings o configuración y se nos abre otra ventana:

Después, pulsamos el botón ‘target’ indicado en la imagen a través de una flecha, que es donde seleccionaremos el API de Smart Fox Server para poder trabajar con Smart Fox Server en flash, así que pulsamos y navegamos hasta la carpeta de Smartfoxserver, nos metemos en Flash API y seleccionamos ActionScript 2.0:

Y por ultimo, clickamos en OK y ya esta. Ya podemos trabajar con flash y Smart Fox Server.

Nota! Recuerda que este paso se tiene que realiza en todos los documentos flash que desees utilizar para conectarlo con Smart Fox Server!

Creando un pequeño script para probar la conexión entre nuestro servidor y flash

Vamos a crear nuestro primer script. Servirá para decir si estamos conectados a smartfoxserver.

Antes de nada, abrimos el servidor en Inicio -> Todos los programas -> SmartFoxServer_1.6.2 -> Start SmartFoxServer. En el mismo documento anterior, vamos a crear un texto dinámico que se llame estatus, de tal forma que queden así las propiedades:

Ahora nos vamos a acciones del fotograma, y empezamos a programar el ActionScript. Vamos a llamar Smart Fox Server, a los datos que recibiremos del servidor a documento de flash.

Código :

import it.gotoandplay.smartfoxserver.*

Fácil eh!? Ahora que hemos llamado a Smartfoxserver, debemos saber que cada ves que lo necesitemos, debemos llamarlo así:

Código :

smartfox.EVENTO

Vale, sigamos. Ahora, toca crear las variables del servidor tales como IP, PUERTO y ZONA, la zona es la parte del servidor configurada para utilizar el script. Como para una conexión a Smart Fox Server no se necesita una zona configurada especifica, usaremos la primera que viene por defecto: simpleChat. Vamos a ello desde arriba:

Código :

import it.gotoandplay.smartfoxserver.*

// Variables

var ip:String = "127.0.0.1"
var port:Number = 9339
var zone:String = "simpleChat"

La variable IP sera la IP del servidor, por defecto la cual seria 127.0.0.1 (local) (este podria cambiar dependiendo de tu proveedor de internet, te recomendamos revisarlo antes que todo a traves del CMD), el puerto por defecto de Smar Fox Server el cual seria 9339, y la zona que la definimos nosotros (debe existir en el servidor), que es la simpleChat.

Hasta aqui claro. Ahora tenemos que crear la variable del cliente de Smart Fox Server, es decir para utilizar la sintaxis anterior de smartfox.EVENTO, debemos crear una variable, smartfox:SmartFoxClient, seguida de sus correspondientes eventos principales: onConnecton y debug, que son igual a la funcion de cada uno, mas para delante te daras cuenta, desde arriba:

Código :

import it.gotoandplay.smartfoxserver.*

// Variables

var ip:String = "127.0.0.1"
var port:Number = 9339
var zone:String = "simpleChat"

var smartfox:SmartFoxClient = new SmartFoxClient()
smartfox.onConnection = handleConnection
smartfox.debug = true

Realizamos la conexión con smartfox.connect(ip, port), lo que hay entre paréntesis, son las dos variables ip y port que se han definido arriba.

Empezamos a crear las funciones, empezamos por la función que pide Smart Fox Server al conectarse que hemos definido arriba como onConnection, que es igual a la función handleConnection, desde arriba!

Código :

import it.gotoandplay.smartfoxserver.*

// Variables

var ip:String = "127.0.0.1"
var port:Number = 9339
var zone:String = "simpleChat"

var smartfox:SmartFoxClient = new SmartFoxClient()
smartfox.onConnection = handleConnection
smartfox.debug = true

// Conectamos al server
smartfox.connect(ip, port)

// Lo que sigue de funciones hasta el final!
function handleConnection(success)
{
if (success)
{
estatus.text = "Conectado Correctamente!"
}
else
{
estatus.text = "Imposible Conectar!"
}
}

Si seguimos todos los pasos correctamente y hay conexión con el servidor en el texto dinámico nos dirá "Conectado Correctamente" y si no hay conexión y/o esta mal configurado nos dirá "Imposible Conectar"

Haciendo nuestra conexión publica

Bien para hacer nuestra conexión publica, vamos a la carpeta:
C:\Archivos de programa\SmartFoxServerPRO_1.6.2 o a la ruta de Smartfoxserver.

Allí, cojemos y entramos a la carpeta Server. Veremos bastantes archivos y carpetas, buscamos el archivo config.xml y lo abrimos con el bloc de notas. Hacemos CNTRL+B y ponemos: <ServerIP> y le damos a buscar. Cuando lo encuentre, mostrara la linea siguiente:

Código :

<ServerIP>127.0.0.1</ServerIP>

Aquí tenemos que poner nuestra ip. Vamos a Inicio -> Ejecutar y ejecutamos CMD. Se nos abrirá la terminal del sistema y escribimos ipconfig. Y nos aparecerá toda la información de nuestro modem y/o router:

Código :

Configuración IP de Windows

Adaptador Ethernet Conexiones de red inalámbricas

Sufijo de conexión específica DNS :
Dirección IP. . . . . . . . . . . : XXX.XXX.X.XX
Máscara de subred . . . . . . . . : XXX.XXX.XXX.X
Puerta de enlace predeterminada : XXX.XXX.X.X

Adaptador Ethernet Conexión de área local :

Estado de los medios. . . .: medios desconectados

Tomamos el numero que indica en la Dirección IP, nos vamos al config.xml en el bloc de notas y sustituimos la de 127.0.0.1 por la de nuestra IP, en vuestro caso, vuestra IP. Guardamos el config.xml y cerramos. Abrimos el ejemplo que creamos antes, y vamos a las acciones del fotograma. Ahora abrimos nuestro navegador y en la URL ponemos: http://www.cualesmiip.net allí nos dice algo como:

Tu IP real es: XX.XX.XXX.XXX

Pues esos números son tu IP real que deberás poner en la variable IP de las acciones del script que hemos creado anteriormente. De esta forma todos los que abran tu pagina con ese script y tu tengas el servidor abierto, se podran
conectar.

Saludos!

Tutorial ofrecido por RamFu en www.phperos.net y modificado por Broo para su publicacion en www.cristalab.com

Enviar comentario

Estándares de codificación de caracteres y Dreamweaver

Noviembre 30th, 2009

Dada la importancia de la legibilidad y claridad de los contenidos, se puede publicar Sitios Web que visualicen distintos caracteres en distintos idiomas.

Adobe Dreamweaver CS4, puede publicar contenidos escritos en distintos idiomas simultáneamente, mediante procedimientos llamados Codificación.

Unicode

Es el estándar de codificación de caracteres diseñado para facilitar la transmisión y visualización de textos de múltiples lenguajes, ideogramas, dialectos y lenguas muertas.

Los puntos de codigo de Unicode se identifican por un número entero. Según su arquitectura, un ordenador utilizará unidades de 8, 16 o 32 bits para representar dichos enteros. Las formas de codificación de Unicode reglamentan la forma en que los puntos de código se transformaran en unidades tratables por el computador.

Unicode incluye sistemas de escritura modernos como: Árabe, Braille, Copto, Cirílico, Griego, Han (Kanji, Hanja y Hanzi), Japonés (Kanji, Hiragana y Katakana), Hebreo y Latino. Escrituras históricas menos utilizadas, incluso aquellas extinguidas como Cuneiforme, Griego antiguo, Lineal B micénico, Fenicio y Rúnico.

Entre los caracteres no que no forman parte de alfabetos se encuentran símbolos musicales y matemáticos, fichas de juegos como Mahjong, Domino, Flechas, Iconos, etc.

Además Unicode dispone de versiones predefinidas de la mayoría de combinaciones de letras y símbolos diacríticos en uso en la actualidad y define mecanismos de combinación de caracteres.

Unicode define tres formas de codificación bajo el nombre UTF o Formato de Transformación Unicode (Unicode Transformation Format):

  • UTF-8: codificación orientada a byte con símbolos de longitud variable
  • UTF-16: codificación de 16 bits de longitud variable optimizada para la representación del plano básico multilingüe (BMP)
  • UTF-32: codificación de 32 bits de longitud fija, y la más sencilla de las tres

UTF-8

Formato de codificación de caracteres Unicode utilizando símbolos de longitud variable. UTF-8 divide los caracteres Unicode en varios grupos, en función del número de bytes necesarios para codificarlos. El número de bytes depende exclusivamente del código de carácter asignado por Unicode y del número de bytes necesario para representarlo.

UTF-16

Código de caracteres que proporciona una forma de representar caracteres unicode e ISO/IEC 10646 como una serie de palabras de 16 bits y 24 bits susceptibles de ser almacenados o transmitidos a través de redes de datos.

La codificación de los mapas de cada carácter a una secuencia de palabras de 16 bits. Los Caracteres son conocidos como puntos de código y las palabras de 16 bits que se conoce como código de unidades. Para los caracteres en el Plano Multilingüe Básico (BMP), la codificación resultante es una sola palabra de 16 bits. Para los caracteres en los otros planos, la codificación se traducirá en un par de palabras de 16 bits, así como un sustituto llamado par. Todos los posibles puntos de código a partir de U+0000 a través de U+10FFFF, a excepción de la sustitución, los puntos de código U+D800–U+DFFF (que no son caracteres), se asigna únicamente en UTF-16, independientemente del punto de código del carácter actual o futura cesión o el uso.

UTF-32

Protocolo de codificación de caracteres Unicode que utiliza exactamente 32 bits para cada punto de código Unicode. Todos los demás formatos de transformación de Unicode usan codificaciones de longitud variable.

Dado que UTF-32 usa 4 bytes para cada carácter de espacio es bastante ineficiente. En concreto, lo caracteres BMP no son tan raras en la mayoría de los textos, que pueden muy bien ser considerado como inexistente conversaciones para determinar el tamaño, haciendo UTF-32 entre dos y cuatro veces el tamaño de otras codificaciones.

BOM

Marca de orden de bytes o (BOM, por el inglés Byte Order Mark) es el carácter Unicode U+FEFF en code point (espacio no-separable de anchura-cero, en inglés zero-width no-break space), cuando este carácter se emplea para marcar el endianness (la orientación de escritura del flujo de bytes) de una cadena de caracteres UCS/Unicode con código en UTF-16 o UTF-32 y/o como marca para indicar que el texto está codificado en UTF-8, UTF-16 o UTF-32.

Procedimiento de Codificación

Para que las páginas se visualicen en distintos caracteres, se debe codificar el documento en un formato Unicode establecido.

  1. Crearemos una pagina nueva, Archivo>Nuevo o Ctrl+N y se muestra los detalles del Tipo de Pagina y Diseño
  2. Presionamos sobre el botón Preferencias, vemos los parámetros para un Nuevo Documento:
    • Documento Predeterminado: Podemos elegir entre HTML, Js, ASP, PHP, ActionScript, entre otras…
    • Formato de Archivo: Podemos editar manualmente la extensión
    • Tipo de Documento: Definimos la descripción de estructura y sintaxis del documento:
      • HTML 4.01 Estricto: Nueva versión de HTML 4 con opciones de multimedia, lenguajes de scripts, hojas de estilo, mejores servicios de imprenta, y los documentos que son más accesibles a los usuarios con discapacidad
      • HTML 4.01 Transicional: Nueva versión de HTML 4 compatible con versiones anteriores
      • XHTML 1.0 Estricto: Es similar a HTML cumpliendo con las especificaciones XML, para definir estructuras CSS
      • XHTML 1.0 Transicional: Tipo de documento XHTML 1 compatible con navegadores antiguos
      • XHTML 1.1: Una reformulación de XHTML 1.0 Strict usando módulos definidos y frameworks XHTML. El propósito de este tipo de documento es servir de base para el futuro XHTML ampliado la familia de “tipos de documentos” y proporcionar una respuesta coherente, con visión de futuro de tipo de documento limpiamente separada de la obsoleta
      • XHTML Movile 1.0: DTD específicos para dispositivos móviles.

    • Codificación Predeterminada: Lista de Entidades de Caracteres para un lenguaje determinado.

      Si especifica Occidental Europeo (Latin), se insertará esta etiqueta meta:

      Código :

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

      Si especifica japonés (Shift JIS), se insertará esta etiqueta meta:

      Código :

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

      Si especifica Multilingüe ( Unicode UTF-8 ), se insertará esta etiqueta meta:

      Código :

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

      Si selecciona Unicode ( UTF-8 ) como codificación predeterminada, puede incluir una marca de orden de bytes (BOM) en el documento seleccionando la opción Incluir firma Unicode (BOM). Una BOM está formada por entre 2 y 4 bytes situados al comienzo de un archivo de texto que identifican a un archivo como Unicode y, en este caso, el orden de los bytes siguientes. Dado que UTF-8 carece de orden de bytes, la adición de una BOM UTF‑8 es opcional. Es obligatoria en el caso de UTF-16 y UTF-32.

      Puede poner tilde a “Utilizar al Abrir Archivos” para que una pagina codifique automáticamente un documento no definido.

      • Formulario de Normas Unicode: Normalización de codificaciones elegidas, normalización es el proceso mediante el cual se verifica que todos los caracteres que se pueden guardar de formas diferentes se guardan de la misma forma.
      • C (Descomposición canónica, seguido por Composición Canoníca): Generar la descomposición canónica de la cadena origen S de acuerdo con las asignaciones de la descomposición en la última versión de la base de datos de caracteres Unicode. Iterar a través de cada carácter que C en descomposición, de la primera a la última. Si C no está bloqueada desde el último arranque L y puede ser primaria en combinación con L, y luego sustituir el compuesto por LC y eliminar C.
      • D (Descomposición Canoníca): Es el proceso de adopción de una cadena, la sustitución de compuestos recursivamente caracteres Unicode utilizando la descomposición canónica asignaciones (incluido el algorítmico Hangul descomposición canónica asignaciones).
      • KC (Compatibilidad de descomposición, seguido por Composición Canoníca): Generar la descomposición de la compatibilidad de la cadena origen S de acuerdo con las asignaciones de la descomposición en la última versión de la base de datos de caracteres Unicode. Iterar a través de cada carácter que C en descomposición, de la primera a la última. Si C no está bloqueada desde el último arranque L y puede ser primaria en combinación con L, y luego sustituir el compuesto por LC y eliminar C.
      • KD (Descomposición de Compatibilidad): Es el proceso de adopción de una cadena, la sustitución de compuestos recursivamente caracteres Unicode utilizando la descomposición canónica asignaciones (incluida la descomposición canónica algorítmica Hangul asignaciones) y la compatibilidad con Unicode asignaciones de descomposición, y poner el resultado en el orden canónico.

    • Podemos incluir una firma BOM en todos los documentos que generemos.

Una vez definida la incorporación de los contenidos en distintos idiomas se guarda el archivo (Ctrl+S) y se publica

Enviar comentario

Activar Netmeeting en Windows XP

Noviembre 30th, 2009

Aunque en muchos casos Netmeeting sea una herramienta que ya no se utilice, yo constantemente debo hacer conexiones a otros equipos por medio de esta herramienta por políticas de la empresa.

He encontrado que en algunos equipos no está instalado Netmeeting (Como por ejemplo los WinXP que te instalan todo del mismo CD) y no es posible agregarlo por la opción de agregar o quitar programas del panel de control. Tampoco funciona instalándolo desde el ejecutable que se puede descargar en la web, ya que sale que la versión del sistema operativo no es compatible con el netmeeting.

Para poder instalarlo nuevamente debemos tener a la mano:

  1. CD de instalación de Windows XP (normal, no el de versiones modificadas)
  2. De una máquina que tenga el netmeeting copiar el archivo MSNETMTG.INF a un dispositivo USB.

Luego de tener lo mencionado, debemos hacer el siguiente procedimiento:

  1. Copiar el archivo mencionado en el disco duro (puede ser en el escritorio o donde quieran).
  2. En la opción Ejecutar (Win+R) escribimos el siguiente comando, teniendo en cuenta las mayúsculas:

    Código :

    %SystemRoot%/System32/rundll32.exe setupapi, InstallHinfSection NetMtg.Remove 132 msnetmtg.inf
    

  3. Puede que salga un mensaje de error al ejecutar esta línea, lo que quiere decir que el archivo no se encuentra en el disco. Esta línea la podemos utilizar cuando nuestro equipo tenga el netmeeting pero esté dañado y no se deje reparar.
  4. Ahora, debemos buscar el archivo mencionado en el paso 1, le damos clic derecho al archivo y escogemos la opción "Instalar".

De ahí empezará a realizar la instalación del netmeeting y nos va a pedir el CD de XP. Después de terminado debemos reiniciar el equipo y listo, ya podemos iniciar la aplicación con el comando "conf".

Espero les sirva el tip, no duden en preguntar.

Enviar comentario