Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Funktionsvariablen mit Autowert

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Funktionsvariablen mit Autowert

    Hallo,
    weiß nicht genau wie ich es formulieren soll...
    Ich hab mir eine Datenbanklasse geschrieben und dort eine Methodeeingefügt um den Zeichensatz der Datenbankverbindung zu ändern:
    PHP-Code:
        public function setCharset($charset 'uft8')
        {
            
    $this->_mysqliObject->set_charset($charset);

            return 
    $this;
        } 
    Wenn ich nun also ein Objekt erstelle und damit dann ein Datenbankabfrage mache, sind die Zeichensätze nicht in Ordnung (obwohl ich ganz am Anfang den Zeichensatz mit dieser Funktion geändert habe):
    PHP-Code:
    $db->setCharset(); 
    Wenn ich nun aber folgendes mache ist der Zeichensatz in Ordnung:
    PHP-Code:
    $db->setCharset('uft8'); 
    Kann mir das jemand erklären ?

    Kollation laut phpmyadmin: utf8_general_ci.

    Grüße
    Signatur:
    PHP-Code:
    $s '0048656c6c6f20576f726c64';
    while(
    $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"


  • #2
    Glaub ich nicht. Du hast bestimmt woanders nen Denkfehler.
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      uft8 ist jedenfalls Unsinn (vermutlich Tippfehler!)
      @fschmengler - @fschmengler - @schmengler
      PHP Blog - Magento Entwicklung - CSS Ribbon Generator

      Kommentar


      • #4
        LOL, glatt übersehen. Das würde jedenfalls was erklären
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          Glaub ich nicht. Du hast bestimmt woanders nen Denkfehler.
          Hab ich natürlich auch zuerst gedacht, konnte aber dummerweise keinen finden...

          PHP-Code:
          $db->setCharset() 
          => Geht nicht

          PHP-Code:
          $db->setCharset('utf-8'
          => Geht nicht

          PHP-Code:
          $db->setCharset('utf8'
          => Funktioniert

          uft8 ist jedenfalls Unsinn (vermutlich Tippfehler!)
          MySQL :: MySQL 5.1 Reference Manual :: 9.1.13 Character Sets and Collations That MySQL Supports

          Dort wird der Charset ebenfalls mit utf8 und nichts utf-8 angeben (falls du das meinst). Und mit utf8 funktionierts im Gegensatz zu utf-8.


          Grüße
          Signatur:
          PHP-Code:
          $s '0048656c6c6f20576f726c64';
          while(
          $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

          Kommentar


          • #6
            uft8 ist jedenfalls Unsinn (vermutlich Tippfehler!)
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              Ach verdammt !!! Das erklärt natürlich einiges -.-
              Kopf->tisch...

              Ich hab mir das heute bestimmt schon 20mal angesehen und habs einfach nicht geschnallt...

              Ok danke, damit sollte dieses Phänomen geklärt sein.
              Danke!

              Edit:
              Das sollte solche Probleme in Zukunft vermeiden:
              PHP-Code:
              if (!in_array($charset, array(
                          
              'big5''dec8''cp850''hp8''koi8r''latin1''latin2''swe7',
                          
              'ascii''ujis''sjis''hebrew''tis620''euckr''koi8u''gb2312',
                          
              'greek''cp1250''gbk''latin5''armscii8''utf8''ucs2''cp866',
                          
              'keybcs2''macce''macroman''cp852''latin7''cp1251''cp1256',
                          
              'cp1257''binary''geostd8''cp932''eucjpms'
                      
              ), true)){
                          throw new 
              DatabaseException('Unbekannter Zeichensatz');
                      } 
              Signatur:
              PHP-Code:
              $s '0048656c6c6f20576f726c64';
              while(
              $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

              Kommentar


              • #8
                D'oh!

                Kommentar

                Lädt...
                X