Acentos y Ñ : Oracle 10g en Linux

Hace 1 semana que no he podido resolver este problema:
Desde servidor linux (ubuntu 7.10) apache2, me conecto a oracle 10g para traer datos y:
Los acentos y ñ el apache2 me los despliega bien, cuando imprimo info que viene desde la base de datos los muestra con "?".
El oracle 10g lo instale en centos 5 (redhat 5)
Tengo:
/root/.bash_profile y /home/oracle/.bash_profile
oracle_base=/u01/app/oracle; export oracle_base
oracle_home=$oracle_base/product/10.2.0; export oracle_home
oracle_sid=pit;export oracle_sid
oracle_term=xterm; export path
ld_library_path=$oracle_home/lib; export ld_library_path
ld_library_kernel=$oracle_home/lib; export ld_library_kernel
tns_admin=$oracle_home/network/admin; export tns_admin
path=$oracle_home/bin:$path; export path
nls_lang=spanish_spain.we8iso8859p1; export nls_lang
export display=:0.0
-----
sql> select * from nls_database_parameters;
parameter value
------------------------------ ----------------------------------------
nls_language american
nls_territory america
nls_currency $
nls_iso_currency america
nls_numeric_characters .,
nls_characterset we8iso8859p1
nls_calendar gregorian
nls_date_format dd-mon-rr
nls_date_language american
nls_sort binary
nls_time_format hh.mi.ssxff am
parameter value
------------------------------ ----------------------------------------
nls_timestamp_format dd-mon-rr hh.mi.ssxff am
nls_time_tz_format hh.mi.ssxff am tzr
nls_timestamp_tz_format dd-mon-rr hh.mi.ssxff am tzr
nls_dual_currency $
nls_comp binary
nls_length_semantics byte
nls_nchar_conv_excp false
nls_nchar_characterset al16utf16
nls_rdbms_version 10.2.0.1.0
-------------------
select * from nls_instance_parameters;
parameter value
------------------------------ ----------------------------------------
nls_language american
nls_territory america
nls_sort
nls_date_language
nls_date_format
nls_currency
nls_numeric_characters
nls_iso_currency
nls_calendar
nls_time_format
nls_timestamp_format
parameter value
------------------------------ ----------------------------------------
nls_time_tz_format
nls_timestamp_tz_format
nls_dual_currency
nls_comp
nls_length_semantics byte
nls_nchar_conv_excp false
17 filas seleccionadas.
-----------------
select * from nls_session_parameters;
parameter value
------------------------------ ----------------------------------------
nls_language spanish
nls_territory spain
nls_currency ¿
nls_iso_currency spain
nls_numeric_characters ,.
nls_calendar gregorian
nls_date_format dd/mm/rr
nls_date_language spanish
nls_sort spanish
nls_time_format hh24:mi:ssxff
nls_timestamp_format dd/mm/rr hh24:mi:ssxff
parameter value
------------------------------ ----------------------------------------
nls_time_tz_format hh24:mi:ssxff tzr
nls_timestamp_tz_format dd/mm/rr hh24:mi:ssxff tzr
nls_dual_currency ¿
nls_comp binary
nls_length_semantics byte
nls_nchar_conv_excp false
17 filas seleccionadas.
------------
select 'ñ' from dual;
'
-
ñ
----------------------
He puesto la mayor información posible..
¿Alguna sugerencia

1 respuesta

Respuesta
-1
¿Con qué usuario está corriendo el apache?
Cuando vi el problema, dije: Seguro es el tema del nls_lang! ; Pero veo que lo tenés bien definido. La que se me ocurre es que el apache esté corriendo con un usuario distinto al oracle y en su .profile no esté bien definido eso.
Hola, gracias por responder.
El servidor apache, esta corriendo en una máquina distinta al Oracle 10g y arranca al iniciar el sistema por tanto debe ejecutarlo el usuario root.
En la máquina con apache2 solo tengo instalado y funcionando el oracle client. Que me conecta los PHP con Oracle 10g.
Fíjate que esté bien configurado el nls_lang en el usuario que corre el apache o el modulo php, ese tiene que tener bien definida esa variable.
Si no es ese, la verdad que me cuesta pensar en otra cosa.
Miguel

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas