Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Japanische Zeichen

Einklappen

Neue Werbung 2019

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

  • #16
    Und warum sollen "Hans" und "Häns" das gleiche sein, aber "オンナノコ" nicht "おんなのこ"?! Evtl. hilft es wenn du mit UPPER() und bin verlgeichst. Ich hab aber keine Vorstellung was UPPER() mit asiatischen Zeichen anstellt.

    Kommentar


    • #17
      Zitat von erc Beitrag anzeigen
      Ich hab aber keine Vorstellung was UPPER() mit asiatischen Zeichen anstellt.
      Ohne nachgesehen zu haben: Nichts. Großbuchstaben (oder Großzeichen ) gibt es nicht, also kann die Funktion kaum etwas Sinnvolles tun.

      Kommentar


      • #18
        ich bin nun so weit, dass ich mit "utf8mb4_unicode_ci" leben kann und dessen "nebeneffekte"... nun habe ich ein PHP script was den import fährt, dort bereite ich immer 100-1000 user vor und pack die dann mittels doctrine 2 in die DB. nun muss ich ja auf PHP seite schon doppelte usernamen ermitteln, da ich in der DB ein unique index auf dem username habe. wie könnte ich nun das verhalten von der gewählten collation unter PHP simulieren ?

        Kommentar


        • #19
          Wieso simulieren? Schreibs rein, fang Fehler ab und logge sie. Da musste nix simulieren.
          [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

          Kommentar


          • #20
            für mysql mit collation "utf8mb4_unicode_ci" sind diese usernames gleich: "オンナノコ" == "おんなのこ"

            in PHP sind die aber ungleich, und genau das will ich ja verhindern, da ich ja so dann zwei user unter PHP erlaube, welche beim INSERT in die DB als doppelt erkannt werden und der INSERT knallt...

            Kommentar


            • #21
              Ich versteh das Problem immer noch nicht. Wenns beim insert in die Datenbank knallt, weißt du ja, dass sie gleich sind und kannst mit dem Fehler umgehen? Noch nie was von Exceptions gehört?
              [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

              Kommentar


              • #22
                exceptions sind mir durchaus bekannt, es geht aber darum, dass ich ja 100-1000 user vorbereite und diese werden dann in einem schwung via Doctrine 2 ORM in die DB gepackt... somit kann es vorkommen, dass es innerhalb solch einem päckchen zwei gleiche usernamen gibt... und das wird nur via PHP sicher gestellt, dass es keine doppelten usernames gibt... natürlich könnte ich auch jeden user immer direkt in die DB schreiben lassen, das führt aber zu extream längeren laufzeiten... (~3h zu >16h) wir sprechen hier von einem import von weit über 650k user...

                Kommentar


                • #23
                  Was passiert bei dem Import alles? 3 Stunden für 650.000 Datensätze ist schon ordentlich lange. Vielleicht solltest du bei sowas Doctrine lieber außen vor lassen.

                  Kommentar


                  • #24
                    Mich würde die Routine auch interessieren. Ich denke deine Optimierungen sind an anderer Stelle sinvoller. Kannst du mal die wichtigsten Ausschnitte zeigen?
                    [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

                    Kommentar


                    • #25
                      da ist einiges an doctrine magic am werkeln... von inheritance mapping bis hin zu indexed associations... das wollte ich nicht alles mit plain SQL machen... is ja nicht nur eine table die befüllt wird, sondern gleich viele...

                      Kommentar


                      • #26
                        ich beiße nun doch in den sauren apfel und knall jeden user einzeln die DB... dauert zwar länger, da es aber eine "oneTime" aktion ist, sollte es vertretbar sein... an dieser stelle nun nochmal vielen dank an alle beteiligten!

                        Ich nutze nun "utf8mb4_unicode_ci"

                        Kommentar

                        Lädt...
                        X