FAQ
¡Saludos a todos!.

Por alguna razón con PHP 4 no consigo que me muestre correctamente los campos de la BD (hecha en Oracle 8.1.5) que contienen tildes o ñ (por ejemplo). As´´i, al decir "Málaga" lo traduce a otra cosa distinta y la búsqueda no da el resultado esperado.

Me han dicho que hay que poner la vble de entorn NLS_LANG a valor SPANISH_SPAIN.WE8ISO8859P1 y lo he hecho, en el .bash_profile de los usuarios root y Oracle. Pero sigue fallando. También he probado a hacer un "putenv" desde el archivo php, pero no funciona. Si embargo, al hacer el mismo SELECT desde SQLPlus, todo funciona correctamente y aparecen los campos que tienen tildes y eñes y la madre que las parió.

¿Alguien puede ayudarme? Gracias!!

Search Discussions

  • Roger Cobá at Jan 3, 2001 at 5:59 pm
    Debes declarar la variable en el .bash_profile de el usuario usado por el
    apache comunmente llamado nobody. Además debes exportarla como cualquier
    variable de entorno.

    ----- Original Message -----
    From: "David Díaz" <jdiaz@ingenia.es>
    To: <lista@phpes.com>
    Sent: Wednesday, January 03, 2001 11:47 AM
    Subject: [PHP-ES] Problemas con caracteres Ñ y tildes


    ¡Saludos a todos!.

    Por alguna razón con PHP 4 no consigo que me muestre correctamente los
    campos de la BD (hecha en Oracle 8.1.5) que contienen tildes o ñ (por ejemplo).
    As´´i, al decir "Málaga" lo traduce a otra cosa distinta y la búsqueda no da el
    resultado esperado.

    Me han dicho que hay que poner la vble de entorn NLS_LANG a valor
    SPANISH_SPAIN.WE8ISO8859P1 y lo he hecho, en el .bash_profile de los usuarios
    root y Oracle. Pero sigue fallando. También he probado a hacer un "putenv" desde
    el archivo php, pero no funciona. Si embargo, al hacer el mismo SELECT desde
    SQLPlus, todo funciona correctamente y aparecen los campos que tienen tildes y
    eñes y la madre que las parió.

    ¿Alguien puede ayudarme? Gracias!!
  • David Díaz at Jan 3, 2001 at 6:06 pm
    ... y donde está ese archivo .bash_profile que tengo que modificar?
    ¿en el directorio de apache?

    ----- Original Message -----
    From: Roger Cobá <sproman@gd.com.mx>
    To: <lista@phpes.com>
    Sent: Wednesday, January 03, 2001 6:59 PM
    Subject: Re: [PHP-ES] Problemas con caracteres Ñ y tildes

    Debes declarar la variable en el .bash_profile de el usuario usado por el
    apache comunmente llamado nobody. Además debes exportarla como cualquier
    variable de entorno.

    ----- Original Message -----
    From: "David Díaz" <jdiaz@ingenia.es>
    To: <lista@phpes.com>
    Sent: Wednesday, January 03, 2001 11:47 AM
    Subject: [PHP-ES] Problemas con caracteres Ñ y tildes


    ¡Saludos a todos!.

    Por alguna razón con PHP 4 no consigo que me muestre correctamente los
    campos de la BD (hecha en Oracle 8.1.5) que contienen tildes o ñ (por ejemplo).
    As´´i, al decir "Málaga" lo traduce a otra cosa distinta y la búsqueda no da el
    resultado esperado.

    Me han dicho que hay que poner la vble de entorn NLS_LANG a valor
    SPANISH_SPAIN.WE8ISO8859P1 y lo he hecho, en el .bash_profile de los usuarios
    root y Oracle. Pero sigue fallando. También he probado a hacer un "putenv" desde
    el archivo php, pero no funciona. Si embargo, al hacer el mismo SELECT desde
    SQLPlus, todo funciona correctamente y aparecen los campos que tienen tildes y
    eñes y la madre que las parió.

    ¿Alguien puede ayudarme? Gracias!!



    ---------------------------------------------------------------------
    Archivo On-line: http://www.phpes.com/
    Manual PHP en español: http://www.php.net/manual/es/
    Para dar de baja la suscripción, mande un mensaje a:
    lista-unsubscribe@phpes.com
  • Roger Cobá at Jan 3, 2001 at 6:47 pm
    Todas las variables de entorno de Oracle definelas y esportalas en el archivo
    profile localizado en el directorio /etc/, con eesto consigues que todos los
    usuarios tengan el mismo profile básico.

    Espero que con esto se solucione tu problema.
  • Tomas V.V.Cox at Jan 4, 2001 at 5:07 am

    Roger Cobá wrote:

    Todas las variables de entorno de Oracle definelas y esportalas en el archivo
    profile localizado en el directorio /etc/, con eesto consigues que todos los
    usuarios tengan el mismo profile básico.
    Otra idea, es que declares las variables de entorno que necesitas para
    tu server web al principio del script de inicio del demonio del Apache
    (por ej: /etc/rc.d/init.d/apache)

    Saludos,

    Tomas V.V.Cox
  • David Díaz at Jan 4, 2001 at 8:28 am
    Saludos Roger:

    He añadido las siguientes líneas al archivo /etc/profile:

    NLS_LANG=SPANISH_SPAIN.WE8ISO8859P1
    export NLS_LANG

    ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
    export ORA_NLS33

    Pero sigue sin funcionar. No me salen los caracteres. Por cierto, un
    compañero están trabajando en la misma máquina linux, con el mismo Oracle,
    en JSP y le funciona correctamente: le salen tildes y eñes... ¿Son
    necesarias esas vbles también en JSP?

    ----- Original Message -----
    From: Roger Cobá <sproman@gd.com.mx>
    To: <lista@phpes.com>
    Sent: Wednesday, January 03, 2001 7:46 PM
    Subject: Re: [PHP-ES] Problemas con caracteres Ñ y tildes

    Todas las variables de entorno de Oracle definelas y esportalas en el archivo
    profile localizado en el directorio /etc/, con eesto consigues que todos los
    usuarios tengan el mismo profile básico.

    Espero que con esto se solucione tu problema.


    ---------------------------------------------------------------------
    Archivo On-line: http://www.phpes.com/
    Manual PHP en español: http://www.php.net/manual/es/
    Para dar de baja la suscripción, mande un mensaje a:
    lista-unsubscribe@phpes.com
  • Roger Cobá at Jan 4, 2001 at 2:50 pm
    Sip, son necesarias, siempre y cuando modifiques el characterset que traem por
    default el Oracle.

    en el SQLPLus ejecuta la siguiente sentencia:

    select * from nls_database_parameters;

    te debe salir algo parecido a esto:

    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-YYYY HH24:MI:SS
    NLS_DATE_LANGUAGE AMERICAN
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZH:TZM
    NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZH:TZM
    NLS_DUAL_CURRENCY $
    NLS_COMP BINARY
    NLS_NCHAR_CHARACTERSET WE8ISO8859P1
    NLS_RDBMS_VERSION 8.1.6.1.0

    Mi base de datos está configurada para trabajar con el juego de caracteres
    WE8ISO8859P1 como se ve en la línea que dice:

    NLS_CHARACTERSET WE8ISO8859P1

    Debes configurar tu cliente con el mismo juego de caracteres que tiene tu db.
    También debes recordar que para que se reflejen los cambios al profile debes
    inciar de nuevo la sesión en tu servidor. Una posible solución sea reiniciar tu
    apache.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedJan 3, '01 at 5:47p
activeJan 4, '01 at 2:50p
posts7
users3
websitephp.net

People

Translate

site design / logo © 2022 Grokbase