problem mit setlocale und Zahlenformat

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • problem mit setlocale und Zahlenformat

    Hi,

    ich hab ein Problem mit setlocale. Na ja....vielleicht eher mein Provider.

    Also...wenn der Provider seinen Sever frisch startet, werden meine Kommazahlen korrekt berechnet. Läuft sein Server eine weile, dann werden meine Kommazahlen plötzlich nichtmehr korrekt berechnet. Das liegt daran, dass irgend wann ein anderer User setlocale=(LC_ALL,"german") in seinem Script ausführt.

    So wie es nun aussieht, wird dieses setlocale bei meinem Provider Serverweit gesetzt. Ist das so normal? Ich mein wenn der 200 User auf seinem Server hat, dann ist das ja ganz schön bescheiden. Wenn ich in meinem Script gerne englisches Zahlenformat hätte und kurz vor meiner Berechnung jemand auf germanisch umstellt, dann rechne ich falsch :-(

    Da ich mit meinem Provider nun schon ne weile rummach, und es mich auch persönlich interesiert, würde ich gerne wissen, ob sich das setlocale pro USer einstellen lässt? Wäre superklasse wenn mir da jemand helfen könnte.

    Danke an alle vorab, Bernd

  • #2
    also bei einem provider sollte es normal so sein es gibt eine standart einstellung die gilt wenn du nix anderes in deinem script angibst

    sprich

    admin stellt ein LC_ALL, "deutsch"


    wenn nun ein user ein englisches format will setzt er die LC_ALL auf englisch das gilt dann aber nur für das eine script und für sonst keins

    wenn du die global ändern kannst ist das ein bischen unsicher und unpraktisch
    Wusstet ihr schon?
    Wer später bremst ist länger schnell!

    Die wahrscheinlich beste Funktion in PHP ist mysql_error(), doch leider auch die unbekannteste!

    Kommentar


    • #3
      jep...die Einstellung ist Global. Nun wäre es für mich halt interesant zu wissen, ob man dass irgend wie Userspezifisch einstellen kann. Evtl. über .htaccess oder so. Ich hab da weniger Ahnung und will mich nicht unbedingt auf meinen Provider verlassen.
      Auserdem interesiert es mich selber für den Fall, dass ich auf meinem Testserver mal an das selbe Problem stosse.

      Danke nochmal für deine Antwort!

      so long, Bernd

      Kommentar


      • #4
        Gut, ich weiß meine Antwort kommt etwas spät...

        Trotzdem die Lösung ist doch ganz einfach:

        PHP-Code:
        <?PHP
        setlocale 
        LC_NUMERIC'en_GB' );
        ?>
        dann kann jeder setzen was er will, aber die Einstellung gilt auf jeden Fall für die komplette Ausführung deines Skripts
        Wenn die Tatsachen nicht mit der Theorie übereinstimmen –

        um so schlimmer für die Tatsachen.

        Kommentar


        • #5
          setlocal ist ziemlich Sch***e, hat nie vernünftig gefunz. Formatiere lieber
          alles selbst, dann hast du keine Sorgen, wenn der Provider eine andere
          PHP-Version drauf knallt, oder du den Provider wechselst.

          Kommentar

          Lädt...
          X