Ηλεκτρονικό Πρωτόκολλο Σχολείου

Ξεκίνησε από Γεώργιος Θεοδώρου, 27 Ιαν 2017, 08:02:03 ΜΜ

« προηγούμενο - επόμενο »

Γεώργιος Θεοδώρου

Απλά για να γίνεται κουβέντα !!!

το Π (κεφαλαίο) χτυπάει
το π (μικρό) όχι

bugman

έχεις θέμα με την κωδικοποίηση του αλφαριθμητικού. Τσέκαρέ το.
Φτιάξε ένα πρόγραμμα που θα παίρνει την ίδια εισαγωγή και θα την βάζει σε ένα απλό αρχείο κειμένου.
Μετά δοκίμασε μέσα από το notepad κατά το άνοιγμα να επιλέξεις κωδικοποίηση να δεις πώς το παίρνεις!



Γεώργιος Θεοδώρου

#137
Παράθεση από: bugman στις 20 Μαΐου 2020, 04:32:41 ΜΜ
έχεις θέμα με την κωδικοποίηση του αλφαριθμητικού. Τσέκαρέ το.
Φτιάξε ένα πρόγραμμα που θα παίρνει την ίδια εισαγωγή και θα την βάζει σε ένα απλό αρχείο κειμένου.
Μετά δοκίμασε μέσα από το notepad κατά το άνοιγμα να επιλέξεις κωδικοποίηση να δεις πώς το παίρνεις!

Έχεις δίκιο bugman

το λάθος που βγάζει η php:

SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: 'Î-ΟΥ...' for column `protocol`.`attachments`.`name` at row 1 (SQL: insert into `attachments` (`protocol_id`, `ada`, `name`, `mimeType`, `savedPath`, `keep`, `expires`, `updated_at`, `created_at`) values (161, ?, ΔΕΛΤΙΟ ΤΥ�-ΟΥ ΟΡΓΑΝΙΚΩΝ ΚΕΝΩΝ 2019.2020_signed.pdf, application/pdf, arxeio/Φ.1.1//8-20200520_ΔΕΛΤΙΟ ΤΥ�-ΟΥ ΟΡΓΑΝΙΚΩΝ ΚΕΝΩΝ 2019.2020_signed.pdf, Κατά κρίση, ?, 2020-05-21 05:28:43, 2020-05-21 05:28:43))

Και χτυπάει μόνο το Π. Έκανα δοκιμή με όλο το ελληνικό αλφάβητο


Η λύση που προτείνω

στο αρχείο app/Http/Controllers/ProtocolController.php

1 (ΑΚΥΡΩΝΕΤΑΙ)

Αντικαταστήστε
το
$filename = $this->filter_filename($filename, false);
με
$filename = $this->filter_filename($filename, true);

στις γραμμές: 536, 708, 1366



2 (ΠΑΡΑΜΕΝΕΙ)

Αντικαταστήστε
το
$filenameToStore = request()->protocolnum . '-' . Carbon::createFromFormat('d/m/Y', request()->protocoldate)->format('Ymd') . '_' . $file->getClientOriginalName();
με
$filenameToStore = request()->protocolnum . '-' . Carbon::createFromFormat('d/m/Y', request()->protocoldate)->format('Ymd') . '_' . $filename;

στις γραμμές: 540, 712

ΠΡΟΣΤΙΘΕΤΑΙ
Σύμφωνα με τη συμβουλή του Άλκη

η γραμμή  1478 αλλάζει
από
~x',
σε
~ux',



Έτσι αξιοποιούμε πλήρως την function filter_filename (γραμμές 1469-1511).


Μετατρέπει βέβαια όλα τα γράμματα από κεφαλαία σε μικρά αλλά όπως μας λέει:

// lowercase for windows/unix interoperability http://support.microsoft.com/kb/100625



Θα ενημερώσω το github


Μεγάλο ευχαριστώ για το ενδιαφέρον και τη βοήθειά σας


Άλκη μόλις ανέβω Γιάννενα θα κεράσω με χαρά τσίπουρα...

alkisg

#138
Γιώργο το πρόβλημα είναι σ' αυτήν τη γραμμή:
      ~x',

Άλλαξέ την σε:
      ~ux',

Αυτό ώστε η preg_replace να ενεργεί ανά UTF-8 χαρακτήρα και όχι ανά byte.
Συγκεκριμένα το Π σε UTF-8 αντιστοιχεί σε "cea0", οπότε το δεύτερο byte του κοβόταν λόγω της γραμμής 1475:
        [\x7F\xA0\xAD]|          # non-printing characters DEL, NO-BREAK SPACE, SOFT HYPHEN

Γεώργιος Θεοδώρου

Σε ευχαριστώ Άλκη

Την function  filter_filename δεν την έγραψα εγώ

Την υιοθέτησα από το διαδίκτυο.

Είμαι ανοιχτός σε κάθε πρόταση

alkisg

Γιώργο ενημέρωσα το παραπάνω μήνυμά μου με τη σωστότερη λύση. Απλά θέλει ένα "u" για να εφαρμοστεί unicode regex.

Γεώργιος Θεοδώρου

Με την πολύτιμη συνδρομή του Άλκη ενημερώθηκε η προηγούμενη λύση στη ενδεικνυόμενη.

8) :angel:

bugman

Και αυτό είναι ένα μάθημα για τη χρήση ξένων συναρτήσεων, ακόμα και βιβλιοθηκών.
Κοιτάμε μια περιγραφή και αγνοούμε δύο βασικά πράγματα. Ποιος την έγραψε, και την ανάγνωση του κώδικα (υποτίθεται είναι ανοικτού κώδικα)
Αυτό με το utf8 είναι πολύ συχνή πατάτα, γιατί στα αγγλικά οι χαρακτήρες σε υtf8 γράφονται με ίδια bytes με την Ansi έκδοση.
Παρόμοιο πρόβλημα υπήρχε με μια συνάρτηση που έγραφε στο πρόχειρο των Windows html κώδικα. Ο εμπνευστής της έστελνε Ansi κωδικοποίηση αντί του UTF8. Για αγγλικά έκανε! Προσοχή λοιπόν με τις κωδικοποιήσεις.

Γεώργιος Θεοδώρου


Γιάννης Γαϊδαρτζής

Μπράβο παιδιά! Συγχαρητήρια για το ομαδικό πνεύμα.
Πρώην ΚΕΠΛΗΝΕΤ

Χρήστος Στέρπης

Καλησπέρα σας,
από το νεότερο μέλος της παρέας σας! Είμαι δάσκαλος -ΠΕ70- δ/ντής σε δημοτικό σχολείο.
Αναζήτησα μια εφαρμογή ηλεκτρ. πρωτόκολλου, δωρεάν, μιας και η σχολική επιτροπή δεν πληρώνει τέτοιες "πολυτέλειες" κι εντυπωσιάστηκα από τη συγκεκριμένη. Προσπάθησα να την εγκαταστήσω, αλλά δεν μπορώ. Το λειτουργικό μου είναι windows 10. Κύριε Θεοδώρου, μήπως θα μπορούσατε να με βοηθήσετε;

Γεώργιος Θεοδώρου

Για μια γρήγορη δοκιμή κατεβάζεις το συμπιεσμένο αρχείο:

https://github.com/g-theodoroy/electronic_protocol/releases/download/win.0.1/electronic_protocol-win.zip

από: https://github.com/g-theodoroy/electronic_protocol/releases/tag/win.0.1

Αποσυμπιέζεις το zip και τρέχει ...


Δες και το βίντεο: https://youtu.be/e79OPKagz9A. Από το 1:10 και μετά.




Τώρα για κάτι πιο μόνιμο δες στο παρακάτω:

https://github.com/g-theodoroy/electronic_protocol

και ειδικότερα:

https://github.com/g-theodoroy/electronic_protocol#εναλλακτικές-λύσεις


Υπάρχουν αναλυτικές οδηγίες. Αν δυσκολευτείς ρίξε μια φωνή!

Γεώργιος Θεοδώρου

#147
Βίντεο εγκατάστασης του Ηλ. Πρωτοκόλλου σε windows 10

https://youtu.be/xvDHwjHb7wc

kostas123

καλησπερα ευχαριστω παρα πολυ για το αππ ειναι καταπληκτικο
Ξερετε πως μπορουμε να αντιμετωπισουμε το θεμα με τα email
παντα το θεμα(του e-mail) δεν αναγνωριζετε στα ελληνικα  , Επισης υπαρχει δυνατοτητα αποστολης εξαρχομενου πρωτοκολλου μεσω email?

Γεώργιος Θεοδώρου

Πάντα ...

προφανώς υπάρχει κάποιο θέμα κωδικοποίησης.


Συνάντησα το ίδιο "πρόβλημα" στην κωδικοποίηση του Αποστολέα


Πως είναι στημένο το πρωτοκολλο;
win + xampp, linux, κάτι άλλο;
Μήπως θα έπρεπε να ενημερωθεί το σύστημα (πχ νεότερο xampp και php)

Μπορείς να συσχετίσεις το πρόγραμμα email που χρησιμοποιεί ο αποστολέας με το πρόβλημα;
Δοκίμασε να στείλεις το ίδιο "προβληματικό email" με άλλο πρόγραμμα, πχ
outlook -> error ή ok
thunderbird -> error ή ok
gmail από φυλλομετρητή -> error ή ok

Μήπως το λειτουργικό σύστημα (win) δεν υποστηρίζει επαρκώς utf-8;
Μπορεί να ρυθμιστεί η χρήση utf-8 encoding στο σύστημα;

Τα σχολεία μας είναι γεμάτα από παλαιότερους υπολογιστές με παλαιότερο λογισμικό.

Η απάντηση στο ερώτημα είναι μάλλον δύσκολη (τουλάχιστον από μένα)

Έχει συναντήσει κανείς άλλος παρόμοιο πρόβλημα;



Τώρα για το 2ο ερώτημα

Η php μπορεί και στέλνει email

Αν υφίσταται η ανάγκη θα μπορούσε να γίνει μια σελίδα αποστολής email η οποία θα δίνει και Αριθμό Πρωτοκόλλου