phpbar.de logo

Mailinglisten-Archive

[php] oracle character usw.

[php] oracle character usw.

Florian Clever clever_(at)_aracnet.com
Mon, 20 Mar 2000 20:27:30 +0100


>ist jetzt nicht wirklich off topic, weil das problem nur bei php
>aufttaucht.
>also folgendes, ich hab bei oracle(8.1.5) und beim webserver auch bei
>sqlplus

Kennt jemand eine vernünftige Oracle Liste für solche Fragen?

>die character werte auf german_germany.WE8DEC gesetzt. erst ging es nciht
>bei
>sqlplus, nachdem ich dort die umgebungsvariable gesetzt hatte (NLS_LANG)
>konnte ich dort äö usw einfügen udn auslesen. nur bei php gings nicht, dort
>war
>trotz setzen der umgebungsvariable im apache und ncohmal mit putenv nix zu
>machen, er traegt einfach kein umlaute bzw soderzeichen ein :-/
>weiss da jmd rat ?

Also ich habe es gerade in meiner Oracle Application (PHP3) versucht und es
ohne weiteres funktioniert. Ich habe auch nich WE8DEC eingestellt, sondern
die US Einstellungen belassen. Die einizige String convertierung die ich
mache ist:
ist stripslashes()
und wenn ich nicht OCIBind verwende dann auch noch:
$str = str_replace("'","''",$str);

>hat jmd oracle 8i als webdatenbank laufen und kann mir im allgemeinen
>ratschlaege zum umgang/configuration geben (verwendung von Bind mit php) ?

OCIBind ist unbedingt zu empfehlen, da es die Performance Bottlenecks
vermeidet. Sonst braucht man eigentlich kein High-Performance DBMS
verwenden, wenn man dessen Funktionen nicht einsetzt. D.h. PL/SQL sollte man
auch verwenden. Das ist zwar kompliziert (Ich habe es auch noch nicht mit
all seinen Tricks verstanden), aber es lohnt sich.

Mein persöhnliche Ansicht, ist dass man Strings und auch Datum immer so
behandeln sollte, dass es keine Rolle spielt wie der Server eingestellt ist.
Denn ich habe bereits erlebt, dass Firmen (UBS AG CH) behaupten, dass die
Sprache US-Englisch ist, was aber wie sich dann rausstellt nicht der Fall
ist.

Florian Clever




php::bar PHP Wiki   -   Listenarchive