Jeena Paradies: (MySQL) Groß- und kleinschreibung egal oder nicht?

Hallo,

Es gibt links auf meine Seite die http://jeenaparadies.de/artikel/webdesign/ lauten. Jetzt habe ich vor meine Seite umzugestalten, so dass diese dann http://jeenaparadies.de/artikel/Webdesign/ (also Webdesign groß geschrieben) lauten. Dieses letzte Wort (z.B. Webdesign) ist mit hilfe von mod_rewrite kein Verzeichniss sondern die Variable zum identifizieren des Inhalts in der Datenbank. Es wird also verglichen ob sich in der Datenbank ein Artikel namens Webdesign befindet, fals ja dann wird er ausgegeben fals nicht bekommt der Besucher 404.

Auf meinem Server zu Hause klappt das genau so gut mit http://jeenaparadies.de/artikel/webdesign/ (also webdesign kleingeschrieben) Klappt das eigentlich immer oder macht da MySQL je nach Version Unterschiede? Wie wird es in Zukunft sein?

Ich habe das groß geschrieben weil ich die kurz-Überschriften genau so auch in einer Liste auf der Startseite stehen haben will, und da müssen die Wörter ja groß geschrieben sein.

Grüße
Jeena Paradies

--
Ich bin mir ziemlich sicher dass es im Leben mehr gibt als nur wirklich wirklich gut auszusehen ...
<img src="http://home.arcor.de/vivosomuertos/self/zoolander.jpg" border="0" alt="">
Bambergs Fasching - nur ein großer (Werbe-)Flop?
http://jeenaparadies.de/artikel/fasching/
Jeenas Bannertauschportal; selbstgemacht ;-)
http://jeenasbannerbude.de
  1. Hallo Jeena,

    Ich habe das groß geschrieben weil ich die kurz-Überschriften genau so auch in einer Liste auf der Startseite stehen haben will, und da müssen die Wörter ja groß geschrieben sein.

    1. dein mod_rewrite-Pattern darf nicht zwischen klein- und GROß-Schreibung unterscheiden: (?i) oder wie das heißt ;)..

    2. dein Script, der es letztenendes macht, darf auch nicht dazwischen unterscheiden. War glaube ich PHP, was dahintergesteckt hat, oder? strtolower() = String in kleinbuchstaben.

    WauWau

    --
    ss:) zu:) ls:& fo:) de:] va:) ch:° n4:( rl:( br:^ js:| ie:% fl:{ mo:|
    E-Mail WauWau: mailto:selfforum.wauwau@spameater.org
    1. Hallo,

      1. dein mod_rewrite-Pattern darf nicht zwischen klein- und GROß-Schreibung unterscheiden: (?i) oder wie das heißt ;)..

      Ok das muss ich überprüfen.

      1. dein Script, der es letztenendes macht, darf auch nicht dazwischen unterscheiden. War glaube ich PHP, was dahintergesteckt hat, oder? strtolower() = String in kleinbuchstaben.

      Nun ja in der Datenbank steht es aber mit einem Großbuchstaben. Und ich frage die DB ja mit "[...] WHERE shorttopic= '".$shorttopic."';" und dieser kann vom Benutzer sowohl klein als auch groß geschrieben sein. In der DB ist er aber groß geschrieben. Ich möchte das wissen um zu wissen ob ich zwei mal in die DB (also Webdesign und webdesign) reinfriemeln muss oder ob ich das irgendwie so machen kann das es egal ist, oder ob es eh egal ist.

      Grüße
      Jeena Paradies

      --
      Ich bin mir ziemlich sicher dass es im Leben mehr gibt als nur wirklich wirklich gut auszusehen ...
      <img src="http://home.arcor.de/vivosomuertos/self/zoolander.jpg" border="0" alt="">
      Bambergs Fasching - nur ein großer (Werbe-)Flop?
      http://jeenaparadies.de/artikel/fasching/
      Jeenas Bannertauschportal; selbstgemacht ;-)
      http://jeenasbannerbude.de
      1. Hallo Jeena,

        Nun ja in der Datenbank steht es aber mit einem Großbuchstaben.

        Also machst du einfach strtoupper(), um aus deinem string was GROßES zu bekommen.

        Und ich frage die DB ja mit "[...] WHERE shorttopic= '".$shorttopic."';" und dieser kann vom Benutzer sowohl klein als auch groß geschrieben sein. In der DB ist er aber groß geschrieben. Ich möchte das wissen um zu wissen ob ich zwei mal in die DB (also Webdesign und webdesign) reinfriemeln muss oder ob ich das irgendwie so machen kann das es egal ist, oder ob es eh egal ist.

        Hmm, hast du schon mal an eine Funktion wie

        "[...] WHERE KLEINGESCHRIEBEN(shorttopic) = '".strtolower($shorttopic)."';"

        gedacht? Natürlich jetzt _nicht_ KLEINGESCHRIEBEN(), sondern was equivalentes... weiß nicht, bei MySQL gibt's ja eine ganze menge funktionen, ansonsten müsste ich erst in der Doku nachschauen.

        Aber du hast ja nun 2x geschrieben, in deiner DB wären die Einträge sowieso per GROßGESCHRIEBEN gespeichert, entsprechend brauchst du ja sowieso nur deinen String durch strtoupper() gezogen an dein query zu übergeben und hast es, egal ob man nun Webdesign, webdesign, WeBdEsIgN oder sonstige Kunstwörtchen schreibt.

        WauWau

        --
        ss:) zu:) ls:& fo:) de:] va:) ch:° n4:( rl:( br:^ js:| ie:% fl:{ mo:|
        E-Mail WauWau: mailto:selfforum.wauwau@spameater.org
        1. Hallo,

          Aber du hast ja nun 2x geschrieben, in deiner DB wären die Einträge sowieso per GROßGESCHRIEBEN gespeichert, entsprechend brauchst du ja sowieso nur deinen String durch strtoupper() gezogen an dein query zu übergeben und hast es, egal ob man nun Webdesign, webdesign, WeBdEsIgN oder sonstige Kunstwörtchen schreibt.

          Hm da habe ich mich wohl zwei mal undeutlich ausgedrückt in der DB steht

          Webdesign

          Also das W ist großgeschrieben da es eine Überschrift irgendwo anders ist. Alle anderen Buchstaben des Wortes Webdesign sind klein geschrieben.

          Grüße
          Jeena Paradies

          --
          Ich bin mir ziemlich sicher dass es im Leben mehr gibt als nur wirklich wirklich gut auszusehen ...
          <img src="http://home.arcor.de/vivosomuertos/self/zoolander.jpg" border="0" alt="">
          Bambergs Fasching - nur ein großer (Werbe-)Flop?
          http://jeenaparadies.de/artikel/fasching/
          Jeenas Bannertauschportal; selbstgemacht ;-)
          http://jeenasbannerbude.de
          1. Hallo,

            ----------------
            http://www.mysql.de/doc/de/Case_sensitivity.html
            Vorgabemäßig sind MySQL-Suchen unabhängig von der verwendeten Groß-/Kleinschreibung [...] Wenn Sie wollen, dass eine Spalte immer abhängig von der verwendeten Groß-/Kleinschreibung behandelt wird, deklarieren Sie sie als BINARY.
            ----------------
            Damit hat sich wohl mein Problem erledigt. Irgendwie ist mir das Wort case sensitivity nicht eingefallen, und dass das eine Suche ist wollte mir auch nicht in den Kopf ich hab die ganze Zeit nach irgendwelchen Abfragen gesucht.

            Grüße
            Jeena Paradies

            --
            Ich bin mir ziemlich sicher dass es im Leben mehr gibt als nur wirklich wirklich gut auszusehen ...
            <img src="http://home.arcor.de/vivosomuertos/self/zoolander.jpg" border="0" alt="">
            Bambergs Fasching - nur ein großer (Werbe-)Flop?
            http://jeenaparadies.de/artikel/fasching/
            Jeenas Bannertauschportal; selbstgemacht ;-)
            http://jeenasbannerbude.de
            1. Hallo Jeena,


              http://www.mysql.de/doc/de/Case_sensitivity.html
              Vorgabemäßig sind MySQL-Suchen unabhängig von der verwendeten Groß-/Kleinschreibung [...] Wenn Sie wollen, dass eine Spalte immer abhängig von der verwendeten Groß-/Kleinschreibung behandelt wird, deklarieren Sie sie als BINARY.

              ah! Cool, endlich weiß ich, was "Binary" soll :)

              Damit hat sich wohl mein Problem erledigt. Irgendwie ist mir das Wort case sensitivity nicht eingefallen, und dass das eine Suche ist wollte mir auch nicht in den Kopf ich hab die ganze Zeit nach irgendwelchen Abfragen gesucht.

              jo,

              WauWau

              --
              ss:) zu:) ls:& fo:) de:] va:) ch:° n4:( rl:( br:^ js:| ie:% fl:{ mo:|
              E-Mail WauWau: mailto:selfforum.wauwau@spameater.org