Mostrando entradas con la etiqueta asp. Mostrar todas las entradas
Mostrando entradas con la etiqueta asp. Mostrar todas las entradas

domingo, 8 de noviembre de 2009

Convertir código ASP a PHP.

Problema: Dispongo de una web que hice hace tiempo utilizando tecnología ASP con conexiones a una base de datos access y ahora:

1- Quiero cambiar de tipo de servidor en mi proveedor de hospedaje a uno en linux para pagar menos al mes.

2- Quiero dejar de utilizar mi web para utilizar alguna herramienta de publicación como Wordpress o un CMS.

En ambos casos me gustaría poder seguir utilizando algunas de mis funciones ASP sin tener que recodificar todo manualmente, ya que eso me haría perder bastante tiempo.

Solución: ¡¡¡asp2php!!!

Se trata de un programita que te permite convertir código asp a php, respetando bastante la estructura original de los fichero, por lo que te será fácil retocar el código php generado si no tienes demasiados conocimientos de php, aunque sea símplemente por comparación con el archivo ASP original.

Pero veamos un ejemplo con los resultados de la conversión:

' Por CNG (www.trapallada.com).
Function getLiteral(intIdLiteral)
Set DB = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
DB.Mode = adModeReadWrite
DB.Open "dsn=miDSN;"

strSQL = "select literal from tLiterales where id=" + CStr(intIdLiteral)
RS.Open strSQL, DB, 3, 2
If RS.EOF or RS.BOF Then
strLiteral= "null"
Else
strLiteral= Trim(RS.Fields(0).Value)
End If
RS.Close
DB.Close
getLiteral= strENUNCIADO
End Function

generaría

// Por CNG (www.trapallada.com).
function getLiteral($intIdLiteral)
{
extract($GLOBALS);

// $DB is of type "ADODB.Connection"
// $RS is of type "ADODB.Recordset"
echo $adModeReadWrite;
$DB=mysql_connect("servidorDDSS","","");
mysql_select_db("",$DB);

$strSQL="select literal from tLiterales where id="+($intIdLiteral);
$rs=mysql_query($strSQL);
if (($RS==0) || ($RS_BOF==1))
{
$strLiteral="null";
}
else
{
$strLiteral=trim((0)->$Value);
}
mysql_close($DB);
$function_ret=$strLiteral;
return $function_ret;
}


El programa funciona en línea de comandos, pero para evitar lo engorroso del mismo, existen diferentes frontales para windows, MacOX e incluso para entorno web.  Yo sólo he probado el asp2php shell, con resultados magníficos por cierto. Lo único que hay que hacer es descomprimir el los archivos de asp2php y de asp2php shell en la misma carpeta.

miércoles, 25 de marzo de 2009

Codificación de los acentos en páginas web

file-html-128Generalmente cuando uno prepara una página web estática se limita a escribir "a saco" el texto que esta debe mostrar, incluyendo acentos y carácteres especiales. Esto no supone un problema si utilizamos un editor de páginas web que automáticamente fije la codificación del contenido, aunque lo lógico sería utilizar los tags de HTML para su correcta visualización. Por ejemplo, se deberá usar á (a aguda) para mostrar una á.

El problema se puede presentar al crear una página web dinámicamente, ya sea con ASP, jsp, php o cualquier otra tecnología en la que los textos que se deben mostrar se obtienen de una fuente de datos como una tabla de una base de datos y que han sido introducidos por terceros. En algunos casos, como sobre todo sucede con el navegador Firefox nos podemos encontrar con sorpresas, como ver unos rombitos en el lugar de alguna vocal acentuada. Ver un ejemplo (sólo firefox).

Para evitar este problema, deberemos incluir en la cabecera de la página el siguiente meta tag:

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

Lo que informa al navegador de la codificación que debe utilizar para interpretar los carácteres de la página mostrada.

Otra opción es obligar al servidor a incluir dicho tag automáticamente. Esto se hace añadiendo al archivo .htaccess lo siguiente:

AddType text/html;charset=ISO-8859-1 .html