Ver Mensaje Individual
  #1  
Antiguo 10-04-2013
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 296
Reputación: 20
GustavoCruz Va por buen camino
Caracteres no deseados en tablas firebird

Hola amigos foreros.
Tengo una db en firebird 2.5.2. pero tengo un extraño problema...
me está mostrando caracteres extraños. esta es la definición de la base de datos:
Código SQL [-]
SET SQL DIALECT 3;

SET NAMES NONE;

CREATE DATABASE 'localhost:E:\Mis Documentos\RAD Studio\Projects\Comunes\BASE_NO.FDB'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 16384
DEFAULT CHARACTER SET NONE COLLATION NONE;

esta función tampoco la puedo definir utilizando ñ o tildes
Código SQL [-]
ALTER PROCEDURE EDADCOMPLETA (
    FECHA_NACIDO DATE)
RETURNS (
    RESULTADO VARCHAR(240) CHARACTER SET ASCII)
AS
declare variable a integer;
declare variable aa integer;
declare variable m integer;
declare variable mm integer;
declare variable d integer;
declare variable dd integer;
declare variable anio integer;
declare variable mes integer;
declare variable dia integer;
begin
  a = extract(year from fecha_nacido);
  m = extract(month from fecha_nacido);
  d = extract(day from fecha_nacido);
  aa = extract(year from current_date);
  mm = extract(month from current_date);
  dd = extract(day from current_date);
  anio = aa - a;
  if (m <= mm) then
    mes = mm - m;
  else
    begin
      mes = mm + 12 - m;
      anio = anio - 1;
    end
  if (d <= dd) then
    dia = dd - d;
  else
    begin
      if (mod(aa, 4) = 0) then
        dia = dd + 29 - d;
      else
        dia = dd + 28 - d;
      mes = mes - 1;
    end
  if (mes < 0) then
    begin
      anio = anio - 1;
      mes = mes + 12;
    end
  if (anio = 1) then
    resultado = cast(anio as varchar(4))||' Anio, ';
  else
    resultado = cast(anio as varchar(4))||' Anios, ';
  if (mes = 1) then
    resultado = resultado||cast(mes as varchar(2))||' Mes, ';
  else
    resultado = resultado||cast(mes as varchar(2))||' Meses, ';
  if (dia = 1) then
    resultado = resultado||cast(dia as varchar(2))||' Dia ';
  else
    resultado = resultado||cast(dia as varchar(2))||' Dias ';
  suspend;
END;

tendría que cambiar a UTF-8 o es algo más quizás estoy haciendo algo malo

Gracias por vuestro tiempo

Gustavo Cruz
Responder Con Cita