Yii Framework Forum: Deutsche Umlaute äöüÄÖÜ gii CRUD Generator - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Deutsche Umlaute äöüÄÖÜ gii CRUD Generator CRUD mit gii generieren nicht möglich wegen Umlauten in Tabellennamen Rate Topic: -----

#1 User is offline   Coby90 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 07-December 16

Posted 07 December 2016 - 03:50 AM

Hallo zusammen,

zurzeit versuche ich ein Studienprojekt mit dem yii Framework umzusetzen.
Dabei bin ich gleich am Anfang auf das Problem gestoßen, dass ich mit gii keine Models und CRUD Klassen mit Tabellennamen erzeugen kann, welche deutsche Umlaute (äöüÄÖÜ) im Namen haben. Siehe Screenshot.

Diese wären für mein Projekt aber wichtig (z. B. Tabelle Warenschäden, oder Spalte Prävention).

WICHTIG: Bei der Eintragung von Daten funktionieren die Wörter mit Umlauten ohne Probleme, die Datenbank und Datenbankanbindung ist natürlich alles utf8 encoded.
Es funktioniert nur bei den Tabellen- und Spaltennamen nicht.

Ich habe schon einiges probiert und das Forum durchsucht, leider alles erfolglos (z. B. Apache, PHP, usw. alles auf UTF-8 gestellt usw.). Falls ich etwas übersehen habe, dann bitte kurzen Hinweis.

Habe auch schon versucht die validation (preg_match usw.) zu ändern (beim gii generator sowie in der baseHTML, da hier die Fehler darauf verwiesen haben). Habe mir gedacht, vielleicht reicht es diese einfach zu ändern, leider auch ohne Erfolg. (Siehe Codesnippet)

vendor/yiisoft/yii2-gii/generators/model/Generator.php :
            [['db', 'modelClass', 'queryClass'], 'match', 'pattern' => '/^\w+$/', 'message' => 'Only word characters are allowed.'],
            [['ns', 'baseClass', 'queryNs', 'queryBaseClass'], 'match', 'pattern' => '/^[\w\\\\]+$/', 'message' => 'Only word characters and backslashes are allowed.'],
            [['tableName'], 'match', 'pattern' => '/^([\w ]+\.)?([\w\* ]+)$/', 'message' => 'Only word characters, and optionally spaces, an asterisk and/or a dot are allowed.'],


Beispiel aus vendor/yii2/helpers/baseHTML :
    public static function getAttributeName($attribute)
    {
        if (preg_match('/(^|.*\])([\w\.]+)(\[.*|$)/', $attribute, $matches)) {
            return $matches[2];
        } else {
            throw new InvalidParamException('Attribute name must contain word characters only.');
        }
    }


Die GermanCrudCommand extension wollte ich noch versuchen, scheitere aber gerade an der Anbindung. Löst das evtl. mein Problem, hat damit schon jemand gearbeitet?
Wenn ja wie kann ich die in dem basic yii Projekt einbinden und aufrufen?

Hatte jemand hier schon das gleiche Problem und kann mir helfen?

Ich arbeite mit dem MAMP Server, php 5.6.10, MySQL 5.5.42, Apache 2.2.29 und der Yii Version 2.0.10 mit dem basic Paket.

IDE -> PHPStorm

Ich danke euch schon mal im Voraus!

Grüße
Coby

Attached File(s)


0

#2 User is offline   jim. 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 150
  • Joined: 28-June 12
  • Location:Germany

Posted 07 December 2016 - 05:21 AM

Ich kann dir nur dringend dazu raten, bei Tabellen und Feldern keine Umlaute zu verwenden, du handelst dir damit nur Probleme ein.

Außerdem würde ich bei Yii und anderen ähnlichen Frameworks immer englische Tabellennamen verwenden, sonst wird es mit der Pluralbildung recht hässlich.
1

#3 User is offline   Coby90 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 07-December 16

Posted 07 December 2016 - 01:21 PM

View Postyiim, on 07 December 2016 - 05:21 AM, said:

Ich kann dir nur dringend dazu raten, bei Tabellen und Feldern keine Umlaute zu verwenden, du handelst dir damit nur Probleme ein.

Außerdem würde ich bei Yii und anderen ähnlichen Frameworks immer englische Tabellennamen verwenden, sonst wird es mit der Pluralbildung recht hässlich.


Danke für die Antwort. Hab ich auch schon öfters gelesen, dass Umlaute in Tabellen Probleme machen können. Ist vielleicht wirklich sinnvoll. Eventuell mach ich es dann so, dass ich die Tabellennamen noch über die Internationalisierung später noch ändere oder so.

Aber es muss definitiv alles auf Deutsch sein.
0

#4 User is offline   Patrick Jones 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 495
  • Joined: 14-July 12
  • Location:Berlin

Posted 07 December 2016 - 01:41 PM

Wenn es unbedingt auf Deutsch sein muss, benutz wenigstens "ae" anstatt "ä", etc.

Sonderzeichen sind die Welt des Schmerzes :-)
Freelance developer for hire - send me a message!
0

#5 User is offline   Coby90 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 07-December 16

Posted 08 December 2016 - 04:31 AM

View PostPatrick Jones, on 07 December 2016 - 01:41 PM, said:

Wenn es unbedingt auf Deutsch sein muss, benutz wenigstens "ae" anstatt "ä", etc.

Sonderzeichen sind die Welt des Schmerzes :-)


Werd ich machen, Danke.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users