Ir al contenido


Foto

Caracteres especial con SQL Developer y delphi7


  • Por favor identifícate para responder
2 respuestas en este tema

#1 tiquinho

tiquinho

    Member

  • Miembros
  • PipPip
  • 36 mensajes

Escrito 29 enero 2020 - 11:13

Buenos días a todos

 

Tengo el siguiente problema: Tengo una BD en Oracle SQL Developer, al realizar la consulta me trae los datos con las ñ oÑ hasta ahí no hay lío. Pero apenas ejecuto mi aplicativo el resultado de la consulta me cambia las ñ por ? y no se porque sucede esto y como solucionarlo.

 

 

Agradezco al ayuda que me puedan brindar


  • 0

#2 tiquinho

tiquinho

    Member

  • Miembros
  • PipPip
  • 36 mensajes

Escrito 29 enero 2020 - 01:50

Bueno, he encontrado la solución en estas dos paginas

 

http://www.forosdelw...tranos-1160289/

http://clubdelphi.co...ead.php?t=79793

 

Lo que dicen es que se tiene que definir una variable de entorno llamada NLS_LANG, a la que asignamos el valor correspondiente al lenguaje Ansi de Windows en Español. El valor es SPANISH_SPAIN.WE8MSWIN1252.

 

Hasta ahí todo muy bien, pero ahora mi pregunta va, como puedo crear esta variable de entorno si no existe en el pc donde estpy ejecutando mi aplicativo?

 

Con GetEnvironmentVariable puedo obtener el valor de la variable de entorno. Entonces, sino existe, debería crear la variable de entorno. Pero está última parte no la se hacer. 

 

Si encuentro la solución, lo comentare en este hilo

 

Gracias


  • 0

#3 tiquinho

tiquinho

    Member

  • Miembros
  • PipPip
  • 36 mensajes

Escrito 29 enero 2020 - 02:00

Bueno, me respondo a mi mismo.

 

La solución la encontré en: http://delphidabbler...icles?article=6 con la función SetEnvVarValue


delphi
  1. function SetEnvVarValue(const VarName,
  2. VarValue: string): Integer;
  3. begin
  4. // Simply call API function
  5. if SetEnvironmentVariable(PChar(VarName),
  6. PChar(VarValue)) then
  7. Result := 0
  8. else
  9. Result := GetLastError;
  10. end;

Espero esto le sea de ayuda a alguien


  • 1




IP.Board spam blocked by CleanTalk.