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

  • [Erledigt] Japanische Zeichen

    hi community!

    ich habe eine sehr seltsames verhalten bei mySQL was ich mir derzeit noch nicht erklären kann.
    ich setze folgendes query ab:

    Code:
    SELECT * FROM user WHERE username LIKE 'オンナノコ'
    und zurück bekomme ich ein datensatz, wo der username
    おんなのこ
    lautet ? laut google-tranlate handelt es sich hierbei um japanisch und beides bedeutet
    Mädchen
    .

    Jemand eine idee für mich, wieso hier komplett verschiedenen usernames dennoch matchen ? also für mich sind das auf jedenfall zwei verschiedene usernames ?

    greez & thx,
    sky...


  • #2
    Wenn beides das gleiche heißt, warum erwartest du ein anderes Ergebnis? In Sprachen wie japanisch und chinesisch können nunmal zwei verschiedene Symbole das gleiche bedeuten.

    Das erstere, オンナノコ ist Katakana und das zweite, おんなのこ ist Hiragana für das gleiche Wort, "onnanoko" - Mädchen.

    Stells dir vor als wäre das erste Druckschrift und das zweite Schreibschrift. Es bedeutet exakt das gleiche, es sind einfach zwei verschiedene Arten es zu schreiben.
    Lerne Grundlagen | Schreibe gute Beispiele | PDO > mysqli > mysql | Versuch nicht, das Rad neu zu erfinden | Warum $foo[bar] böse ist | SQL Injections | Hashes sind keine Verschlüsselungen! | Dein E-Mail Regex ist falsch

    Kommentar


    • #3
      Zitat von ApoY2k Beitrag anzeigen
      Wenn beides das gleiche heißt, warum erwartest du ein anderes Ergebnis? In Sprachen wie japanisch und chinesisch können nunmal zwei verschiedene Symbole das gleiche bedeuten.

      Das erstere, オンナノコ ist Katakana und das zweite, おんなのこ ist Hiragana für das gleiche Wort, "onnanoko" - Mädchen.
      *Respekt*
      PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

      Kommentar


      • #4
        ok, ist nun die frage, kann man es als zwei verschiedenen usernames auslegen ? also ich habe nun meine datenbank collation so umgestellt, dass es nicht mehr als das gleiche angesehen wird und somit als zwei verschiedenen usernames gehändelt wird...
        ich denke das ist nicht falsch es so zu händeln... ist die frage ob jemand der dem japanisch mächtig ist, hier verwirrt sein könnte ?

        sky....

        Kommentar


        • #5
          Zitat von skydiablo Beitrag anzeigen
          ich denke das ist nicht falsch es so zu händeln... ist die frage ob jemand der dem japanisch mächtig ist, hier verwirrt sein könnte?
          Vermutlich ist das OK. Für einen Japaner sind beide Wörter quasi austauschbar und damit wird er auch verstehen, dass es schon besetzt ist, weil jemand anderes schon das Wort verwendet hat, wenn auch anders geschrieben.
          Lerne Grundlagen | Schreibe gute Beispiele | PDO > mysqli > mysql | Versuch nicht, das Rad neu zu erfinden | Warum $foo[bar] böse ist | SQL Injections | Hashes sind keine Verschlüsselungen! | Dein E-Mail Regex ist falsch

          Kommentar


          • #6
            gerade nicht... ich händel "オンナノコ" und "おんなのこ" als eigenständige usernamen, somit wären das jeweils zwei verschiedene user...

            Kommentar


            • #7
              Achso, falsch verstanden. Dann finde ich aber in dem Zusammenhang deine Handhabe falsch.

              Stell dir vor, jemand schreibt dir eine Adresse in Druckbuchstaben auf und ein anderer in Schreibschrift. Sind das jetzt zwei verschiedene Adressen?

              Eigentlich ja nicht - es ist die gleiche Adresse, aber zweimal verschieden geschrieben.

              PS: "händeln" ist kein deutsches Wort
              Lerne Grundlagen | Schreibe gute Beispiele | PDO > mysqli > mysql | Versuch nicht, das Rad neu zu erfinden | Warum $foo[bar] böse ist | SQL Injections | Hashes sind keine Verschlüsselungen! | Dein E-Mail Regex ist falsch

              Kommentar


              • #8
                Zitat von ApoY2k Beitrag anzeigen
                Stells dir vor als wäre das erste Druckschrift und das zweite Schreibschrift. Es bedeutet exakt das gleiche, es sind einfach zwei verschiedene Arten es zu schreiben.
                Tut mir leid, aber das stimmt so nicht.
                Hiragana: さら (sara) = Teller
                Katakana: サラ (sara) = (ausländischer) Name "Sara".

                In einigen Fällen sind die Schreibweise austauschbar, z.B. bei "ringo" (= Apfel) ist sowohl りんご als auch リンゴ zulässig, ist aber eher die Ausnahme. Katakana werde (mittlerweile) fast nur für ausländische Bezeichnungen, Namen oder Marken gebraucht.

                Ich hab jetzt bei der Recherche aber bemerkt das Google u.a. auch dieses "Problem" haben. Ich kann dir leider nicht sagen woran das genau liegt, weil ich nicht weiß wie SQL intern die (japanischen) Strings vergleicht, aber bei Zeiten schau ich da mal nach. Würde mich auch interessieren, und im Chinesischen ist mir das bis jetzt noch nicht aufgefallen, obwohl es da wesentlich mehr Homonyme gibt.

                Kommentar


                • #9
                  Zitat von skydiablo Beitrag anzeigen
                  gerade nicht... ich händel "オンナノコ" und "おんなのこ" als eigenständige usernamen, somit wären das jeweils zwei verschiedene user...
                  Die Frage dabei ist doch wie das bei der Zielgruppe angesehen wird. Z.B. bei uns wäre es es doch auch unerwünscht das es ein skydiablo, Skydiablo, skydIablo usw. gibt.

                  Kommentar


                  • #10
                    Gut, so genau kenn ich mich da leider nicht aus. Für das eine Beispiel erscheint mir halt eine Unterscheidung als der falsche Ansatz.

                    Die Leute dazu zwingen, nur Rōmaji zu benutzen wäre vermutlich eine ziemliche UX-Sünde. Auf der anderen Seite weiß ich halt echt nicht, wie das in echten japanischen Foren gehandhabt wird... :-/
                    Lerne Grundlagen | Schreibe gute Beispiele | PDO > mysqli > mysql | Versuch nicht, das Rad neu zu erfinden | Warum $foo[bar] böse ist | SQL Injections | Hashes sind keine Verschlüsselungen! | Dein E-Mail Regex ist falsch

                    Kommentar


                    • #11
                      Ich denke bei Usernamen macht das durchaus Sinn die beiden zu unterscheiden. Die Bedeutung ist zwar die gleiche, aber das Schriftbild ist eben ein ganz anderes. Ich glaube Groß-/Kleinschreibung ist da der falsche Vergleich, passender wären Synonyme oder verschiedene (falsche) Schreibweisen eines Wortes. Wäre hier doch auch ungewöhnlich wenn sich ApoY2000 hier auf einmal nicht mehr registrieren dürfte. Abgesehen davon hasse ich persönlich es, wenn ich nicht nach dem suchen kann was ICH will. Ja, sogar Google bringt bei einer Suche nach "#!" 0 Ergebnisse...Und wenn ich dann nach "Hashbang" suche finde ich "#!" gleich im Titel des ersten Treffers....

                      Kommentar


                      • #12
                        Zitat von Tropi Beitrag anzeigen
                        Wäre hier doch auch ungewöhnlich wenn sich ApoY2000 hier auf einmal nicht mehr registrieren dürfte.
                        lol, hier gelten ja andere regeln, wenn ich mich recht erinnere. jedenfalls gabs mal nachrichten senden probleme bei doppel belegung von usernamen.

                        bedenke bitte auch, dass du jede sprachsteuerung verkomplizierst, gibt es tropi, Tropi, TRopi, TROPi usw.

                        Kommentar


                        • #13
                          ok, vielen dank... ihr habt mir sehr geholfen !

                          Kommentar


                          • #14
                            ...so, ich muss nun nochmal das thema aufreißen... im grunde suche ich eine möglichkeit dass die datenbank zwischen den japanischen schreibweisen unterscheidet, dabei aber nicht case-sensetiv wird?

                            Collation:
                            - utf8mb4_unicode_ci
                            - - case insensitiv
                            - - "オンナノコ" == "おんなのこ"
                            - utf8mb4_bin
                            - - case sensitiv
                            - - "オンナノコ" != "おんなのこ"

                            somit würde ich mir ein mix aus beiden wünschen... leider habe ich usernamen aus der ganzen welt, sprich auch ganz andere sprachen mit anderen zeichensätzen (zB chinesisch, kyrillisch, koreanisch, arabisch) dazu kommen noch die ganzen sprachen mit lateinischen buchstaben mit zusätzen (zB türkisch, französisch, usw...) (äöüèê usw...)...

                            stehe da echt vor einem problem... die column soll case in-sensitiv bleiben aber ansonsten alles weitere unterscheiden :S ich glaube das geht nicht, lasse mich aber gerne belehren... vorgstellte PHP scripte sind nicht erwünscht...

                            jemand ne idee für mich ?

                            Kommentar


                            • #15
                              Ja, Hashing.
                              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                              Kommentar

                              Lädt...
                              X