Προβληματισμοί και γενικότερες ανησυχίες με το Laravel. Αν έχετε προβλήματα να αναφέρετε πάντα την version.
Άβαταρ μέλους
By Σεμπαστιάν Νικολάου
#17 Καλησπέρα,

αντιμετωπίζω ένα θέμα με τους ελληνικούς χαρακτήρες στα views.
Χρησιμοποιώ το LaravelCollective/html για το laravel 5, αντίστοιχα με τα HTML/Form facades στο laravel 4, αλλά το πρόβλημα υπάρχει ακόμα και με τα double/triple quotes στα blade views.

Όταν εισάγω κάποιο string στα ελληνικά σε UTF-8 – ανεξαρτήτως πηγής (database / request / hardcoded) – ΠΑΝΤΑ μετατρέπεται σε named html entities. Π.χ. όταν βάζω
Κώδικας: Επιλογή όλων{{ 'Πελάτες' }}
το output θα είναι
Κώδικας: Επιλογή όλωνΠελάτες
.

Καταλαβαίνω πως είναι σωστό από μία άποψη γιατί τρέχει η συνάρτηση e().

Δεν ξέρω αν είναι καλύτερα να μην μετατρέπονται τα ελληνικά σε htmlentites, και αν είναι εφικτό. Σας έχει τύχει; Πως το έχετε αντιμετωπίσει;
Άβαταρ μέλους
By NikosV
#26 Δεν είχα ποτέ τέτοιο πρόβλημα. Μήπως έχει να κάνει με το encoding της html.
Δοκίμασε να βάλεις στο head
Κώδικας: Επιλογή όλων<meta charset="utf-8"/>
Τελευταία επεξεργασία από NikosV και 09/05/2015 19:40, έχει επεξεργασθεί 1 φορά/ες συνολικά
Άβαταρ μέλους
By G.Drakakis
#27 Ένας γρήγορος τρόπος θα ήταν να αλλάξεις το 'htmlentities' με 'htmlspecialchars' στον helper e().

Στο μεταξύ θα κοιτάξω ένα πιο παλιό Project, και θα σου πω αν το είχα κάνει αλλιώς.
Άβαταρ μέλους
By Σεμπαστιάν Νικολάου
#30
NikosV έγραψε:Δεν είχα ποτέ τέτοιο πρόβλημα. Μήπως έχει να κάνει με το encoding της html.
Δοκίμασε να βάλεις στο head
Κώδικας: Επιλογή όλων<meta charset="utf-8"/>


Όλα τα views μου έχουν meta charset utf-8. Η κωδικοποίηση είναι σωστή και μου εμφανίζει τους χαρακτήρες σωστά. Το πρόβλημα είναι στο output της html.
Άβαταρ μέλους
By Σεμπαστιάν Νικολάου
#31
G.Drakakis έγραψε:Ένας γρήγορος τρόπος θα ήταν να αλλάξεις το 'htmlentities' με 'htmlspecialchars' στον helper e().

Στο μεταξύ θα κοιτάξω ένα πιο παλιό Project, και θα σου πω αν το είχα κάνει αλλιώς.


Αυτό πρακτικά είναι σωστό! Αλλά φοβάμαι να πειράξω την e(), μιας και χρησιμοποιείται σε πολλά σημεία του Illuminate. Θα το δοκιμάσω πάντως.
Άβαταρ μέλους
By G.Drakakis
#32 Δεν έχεις λόγο να φοβάσαι κάτι ειδικότερα αν κάνεις μόνο HTTP requests. Λέω να ρωτήσω τον Taylor καποια στιγμή παρόλα αυτά, αν μου πει κάτι άλλο θα επανέλθω.
Άβαταρ μέλους
By G.Drakakis
#101 Αν ειναι plain text που διαβάζεται απο αρχείο γλώσσας, μπορείς να χρησιμοποιήσεις αυτό.

Κώδικας: Επιλογή όλων{!! trans('app.youMustAgree') !!}


και δεν θα χρησιμοποιηθεί η defaut e() του framework που δημιουργεί το πρόβλημα.
Άβαταρ μέλους
By G.Drakakis
#123 Έπεσα πάνω σε αυτό. https://laracasts.com/discuss/channels/general-discussion/override-functions-in-supporthelpersphp

Ενδιαφέρον τρόπος να κάνεις ovveride την e() και να μην σε απασχολούν τα updates του framework.
Άβαταρ μέλους
By Σεμπαστιάν Νικολάου
#125 Μόλις ανακάλυψα ότι η htmlentities αντικαταστήθηκε με την htmlspecialchars() στην έκδοση 5.3!
https://github.com/laravel/framework/pull/15159