Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
20
ZUGRIFFE
1908
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.032
    Guten Abend!

    Seitdem ich meine Webseite auf UTF-8 umgestellt habe, werden "äöü" mit ucfirst() nicht mehr großgeschrieben.

    Die Suche erbrachte nur, dass hier die Unterstützung fehlt. Wie kann man dennoch, eventuell mit anderen Funktionen solche Umlaute großschreiben? Oder gibt es irgendwelche Einstellungen, sodass dies auch mit UTF-8 funktioniert?
     

  2. #2
    Avatar von einfach nur crack
    einfach nur crack ist offline mag Cookies & Kekse
    Registriert seit
    May 2007
    Ort
    ::1
    Beiträge
    2.426
    Das PHP-Handbuch gibt eigentlich schon ausreichende Informationen dazu:
    Zitat Zitat von http://de3.php.net/manual/de/function.ucfirst.php
    Beachten Sie, dass die Zeichen des Alphabets abhängig vom Wert des gesetzten locale erkannt werden. Ist der Voreinstellung "C" werden Sonderzeichen wie die deutschen Umlaute (ä, ö, ü) nicht erkannt und daher nicht umgewandelt.
     
    Wir alle hier helfen gerne in unserer Freizeit weiter und versuchen Probleme gemeinsam zu lösen. Deshalb wäre es nett, wenn man das entsprechend mit einer positiven Bewertung oder einem Danke honoriert.

    Bei folgenden Sachen kann ich Dir übrigens helfen:
    PHP
    JavaScript
    Ruby
    CoffeeScript
    CSS
    – Webtechnologien
    – UNIX-Shell

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  3. #3
    Avatar von ComFreek
    ComFreek ist offline Mod | @comfreek
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    3.250
    Du könntest mb_convert_case() benutzen:
    PHP-Code:
    $string mb_convert_case($stringMB_CASE_UPPER'UTF-8'); 
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  4. #4
    Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.032
    D.h. ich müsste im Server etwas umstellen? Wie stelle ich denn die Voreinstellung um, es kann ja kein zusätzlicher Paramenter übergeben werden.
     

  5. #5
    Avatar von einfach nur crack
    einfach nur crack ist offline mag Cookies & Kekse
    Registriert seit
    May 2007
    Ort
    ::1
    Beiträge
    2.426
    Schau dir mal setlocal() an.
    Sasser bedankt sich. 
    Wir alle hier helfen gerne in unserer Freizeit weiter und versuchen Probleme gemeinsam zu lösen. Deshalb wäre es nett, wenn man das entsprechend mit einer positiven Bewertung oder einem Danke honoriert.

    Bei folgenden Sachen kann ich Dir übrigens helfen:
    PHP
    JavaScript
    Ruby
    CoffeeScript
    CSS
    – Webtechnologien
    – UNIX-Shell

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  6. #6
    Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.032
    Ok ich werde mir das mal zu Gemüte führen.

    Nur mal zum Verständis und für später; Muss ich grundsätzlich bei der Nutzung von UTF-8 auch setlocal() nutzen oder ist das nur ein Behelf!?

    Seit der Umstellung auf UTF-8 hatte ich sehr viele Probleme und diese möchte ich bei nächsten Webseiten vermeiden.
     

  7. #7
    Avatar von einfach nur crack
    einfach nur crack ist offline mag Cookies & Kekse
    Registriert seit
    May 2007
    Ort
    ::1
    Beiträge
    2.426
    Man kann so etwas auch viel schöner über die php.ini einstellen, aber auf die hat man meist keinen Zugriff. Ansonsten bietet sich das schon an, wenn man ganz sicher sein will.
     
    Wir alle hier helfen gerne in unserer Freizeit weiter und versuchen Probleme gemeinsam zu lösen. Deshalb wäre es nett, wenn man das entsprechend mit einer positiven Bewertung oder einem Danke honoriert.

    Bei folgenden Sachen kann ich Dir übrigens helfen:
    PHP
    JavaScript
    Ruby
    CoffeeScript
    CSS
    – Webtechnologien
    – UNIX-Shell

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  8. #8
    Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.032
    Ich habe die Einstellung nun vorgenommen und den Webserver neugestartet. Das Problem ist jedoch immer noch das Gleiche!?

    Code :
    1
    
    ;intl.default_locale = de_DE
    Geändert von Sasser (10.05.12 um 13:55 Uhr)
     

  9. #9
    Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.032
    Ich habe es nun mit einer Testdatei versucht mit dem Inhalt:

    PHP-Code:
    <?php
    header
    ('Content-Type: text/html; charset=utf-8');
    setlocale(LC_ALL"de_DE");
    echo 
    ucfirst "österreich" );
    ?>
    Trotzdem wird der Umlaut am Anfang nicht groß geschrieben. Wenn ich den charset auf ISO umstelle, funktioniert es.
     

  10. #10
    Avatar von einfach nur crack
    einfach nur crack ist offline mag Cookies & Kekse
    Registriert seit
    May 2007
    Ort
    ::1
    Beiträge
    2.426
    Da weiß ich auch gerade nicht weiter.
     
    Wir alle hier helfen gerne in unserer Freizeit weiter und versuchen Probleme gemeinsam zu lösen. Deshalb wäre es nett, wenn man das entsprechend mit einer positiven Bewertung oder einem Danke honoriert.

    Bei folgenden Sachen kann ich Dir übrigens helfen:
    PHP
    JavaScript
    Ruby
    CoffeeScript
    CSS
    – Webtechnologien
    – UNIX-Shell

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  11. #11
    Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.032
    Ich weiß auch nicht, warum ich unbedingt die Webseite auf UTF-8 umstellen musste. Mit ISO hat es doch wunderbar funktioniert und es gab überhaupt keine Probleme.

    Anstatt dass man mit UTF-8 alles vereinfacht ist es einfach nur wahnsinnig kompliziert geworden. Ich werde warscheinlich das ganze Projekt wieder auf ISO umstellen, da das UTF-8 keine Vorteil bringt. Der Sinn der Umstellung auf UTF-8 besteht anscheind nur darin, dass jemand festgelegt hat, das es modern ist.

    Ich bedanke mich trotzdem für die Hilfe und hoffe dass Webmaster die vorhaben Ihre Webseite umzustellen, lieber die Finger davon lassen
     

  12. #12
    Avatar von einfach nur crack
    einfach nur crack ist offline mag Cookies & Kekse
    Registriert seit
    May 2007
    Ort
    ::1
    Beiträge
    2.426
    Ich kann nicht zustimmen, da ich alles in UTF-8 gestalte, weil es einfach einfacher ist. Und moderner.

    Nachtrag: Bei mir funktioniert ucfirst() bei Umlauten im Übrigen auch nicht mit UTF-8, aber eigentlich kann man so etwas doch leicht lösen:
    Code PHP:
    1
    2
    3
    4
    
    function utf8_ucfirst ($string)
    {
      return utf8_encode(ucfirst(utf8_decode($string)));
    }
    Geändert von einfach nur crack (10.05.12 um 23:08 Uhr)
    Sasser bedankt sich. 
    Wir alle hier helfen gerne in unserer Freizeit weiter und versuchen Probleme gemeinsam zu lösen. Deshalb wäre es nett, wenn man das entsprechend mit einer positiven Bewertung oder einem Danke honoriert.

    Bei folgenden Sachen kann ich Dir übrigens helfen:
    PHP
    JavaScript
    Ruby
    CoffeeScript
    CSS
    – Webtechnologien
    – UNIX-Shell

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  13. #13
    Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.032
    Ja aber ich sehe daran nichts, was einfach ist. Man muss soviele Funktionen selbst bauen, welche bei UTF-8 nicht funktionieren.

    Welche Funktionen funktionieren in UTF-8 denn auch nicht? Weil wenn dann muss ich gleich alle umstellen, um mir spätere Arbeiten zu ersparen
     

  14. #14
    Avatar von einfach nur crack
    einfach nur crack ist offline mag Cookies & Kekse
    Registriert seit
    May 2007
    Ort
    ::1
    Beiträge
    2.426
    Vermutlich funktionieren all die Funktionen nicht, die unterscheiden müssen, ob ein Buchstabe ein Klein- oder ein Großbuchstabe ist. Also folgende:
    • ucfirst
    • strtolower
    • strtoupper
    • lcfirst
    • ucwords

    Ansonsten kannst du dir auch mal diese Funktionen hier ansehen: http://de.php.net/manual/en/ref.mbstring.php
    Sasser bedankt sich. 
    Wir alle hier helfen gerne in unserer Freizeit weiter und versuchen Probleme gemeinsam zu lösen. Deshalb wäre es nett, wenn man das entsprechend mit einer positiven Bewertung oder einem Danke honoriert.

    Bei folgenden Sachen kann ich Dir übrigens helfen:
    PHP
    JavaScript
    Ruby
    CoffeeScript
    CSS
    – Webtechnologien
    – UNIX-Shell

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  15. #15
    Sasser ist offline Mitglied Smaragd
    Registriert seit
    Mar 2008
    Beiträge
    1.032
    Oh man, dann funktionieren ja zusätzlich preg_match, strpos und weitere Funktionen auch nicht oder? So wie ich das sehe, muss ich ja die komplette Webseite neu schreiben. Wie machst du das denn, wenn du deine Webseite auch in UTF-8 erstellst?
     

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Erweitertes ucfirst
    Von tobee im Forum PHP
    Antworten: 2
    Letzter Beitrag: 07.05.07, 17:57