Λανθασμένο όνομα της κωδικοποίησης Bitrix ml. Επίλυση των προβλημάτων της εσφαλμένης κωδικοποίησης ιστοσελίδας. Εσφαλμένη κωδικοποίηση σελίδας HTML

Με εσφαλμένη κωδικοποίηση, ο ολόκληρος ο ιστότοπος ή μέρος εμφανίζεται με τη μορφή "Clarityablov", δηλ. Ασφαλείς χαρακτήρεςκάνοντας το κείμενο δυσανάγνωστο. Αυτή η κατάσταση μπορεί να συμβεί με λάθος ρύθμιση του διακομιστή Web διακομιστή ή απουσία ρυθμίσεων. Σκεφτείτε πιθανές επιλογές και τρόποι για την εξάλειψη των προβλημάτων

Εσφαλμένη κωδικοποίηση σελίδας HTML

Δημιουργήστε ένα αρχείο δοκιμής:

Sudo gedit /var/www/html/encoding.html

Αντιγράψτε σε αυτό:

Έλεγχος της κωδικοποίησης

Ανοίξτε αυτό το αρχείο στο πρόγραμμα περιήγησης http: //lecalhost/encoding.html

Όπως μπορείτε να δείτε, η κωδικοποίηση του προγράμματος περιήγησης δεν ορίζεται:

Υπάρχουν διάφοροι τρόποι να διορθώσετε αυτήν την κατάσταση. Ας ξεκινήσουμε με την απλούστερη - να καθορίσουμε ρητά την κωδικοποίηση για την ιστοσελίδα. Αυτό γίνεται από το metage, το οποίο πρέπει να βρίσκεται μέσα στην ετικέτα Κεφάλι.:

Προσθέστε αυτή τη γραμμή στο αρχείο δοκιμής μας για να λειτουργήσετε έτσι:

Έλεγχος της κωδικοποίησης

Αρχείο δοκιμής για τον έλεγχο κωδικοποίησης

Καθώς μπορούμε να βεβαιωθούμε το ακόλουθο στιγμιότυπο οθόνης, το πρόβλημα επιλύεται:

Εάν η κωδικοποίηση του αρχείου σας είναι διαφορετική από UTF-8., τότε, αντ 'αυτού, το βάζετε windows-1251. Ή εκείνο που ταιριάζει με την κωδικοποίηση ιστοσελίδων. Για να μάθετε πώς να ορίσετε την κωδικοποίηση αρχείων, κοιτάξτε.

Ήταν ο ευκολότερος τρόπος να διορθώσετε το πρόβλημα κωδικοποίησης - χωρίς να αλλάξετε τις ρυθμίσεις του διακομιστή.

Επιστρέψτε το αρχείο δοκιμής στο την αρχική κατάσταση και να συνεχίσει να μελετάω πώς να καθορίσετε την κωδικοποίηση.

Εάν τα αρχεία .htaccess. Περιλαμβάνονται από τις ρυθμίσεις Apache, αυτά τα αρχεία μπορούν να χρησιμοποιηθούν για τον καθορισμό της κωδικοποίησης της σελίδας που αποστέλλεται από τον διακομιστή Web. Για να ενεργοποιήσετε την υποστήριξη αρχείων .htaccess. σε Αρχείο διαμόρφωσης Apache ( /etc/apache2/apache2.conf.) Βρείτε μια σειρά συμβολοσειρών

ΕΠΙΛΟΓΕΣ ΔΙΕΥΘΥΝΣΕΙΣ FORLOWSYMLINKS Επιδόσεις Δεν απαιτείται όλοι

Και αντικαταστήστε το σε αυτό

Δείχνει κανένα.

Επιτρέψτε όλα.

Μετά από αυτό, ο διακομιστής πρέπει να επανεκκινηθεί.

Sudo systemCTL επανεκκίνηση apache2.service

Αρχείο .htaccess. Πρέπει να δημοσιεύονται στον ίδιο κατάλογο με τον ιστότοπο. Ο ιστότοπός μου δημοσιεύτηκε στον ριζικό κατάλογο του διακομιστή Web. Εάν είστε επίσης, τώρα στο φάκελο / Var / www / html / Δημιουργήστε ένα αρχείο. .htaccess. και να προσθέσετε οδηγία σε αυτό Adddefaultchasset.Μετά τον καθορισμό της επιθυμητής κωδικοποίησης. Παραδείγματα

Adddefaultcharset utf-8

AddDefaultcharset Windows-1251

Μπορείτε να ορίσετε την κωδικοποίηση που θα εφαρμοστεί μόνο στα αρχεία συγκεκριμένης μορφής:

ADDCHARSEST UTF-8 .Καταστήματα .css .js .json .rss .vtt .xml

Ένα σύνολο αρχείων μπορεί να είναι οποιοδήποτε, για παράδειγμα:

ADDCHARSET UTF-8 .html.css .php.

Η ακόλουθη επιλογή είναι εναλλακτική λύση και επίσης σας επιτρέπει να εγκαταστήσετε την κωδικοποίηση για αρχεία ενός συγκεκριμένου τύπου, πρέπει να ενεργοποιήσετε mod_headers:

Κεφαλίδα Τύπος περιεχομένου "κείμενο / html; charset \u003d utf-8"

Μια άλλη επιλογή που μπορεί επίσης να χρησιμοποιηθεί στο αρχείο. .htaccess. Για να ορίσετε την κωδικοποίηση UTF-8:

Ευρετήριο + charset \u003d utf-8

Εάν ο ιστότοπος βρίσκεται σε PHP, μπορεί επιπλέον να χρειάζεται να αντιγράψει την κωδικοποίηση με php_value default_charset.:

Adddefaultcharset Windows-1251 php_value default_charset "cp1251"

Μπορείτε αντί να δημιουργήσετε ένα αρχείο.Htaccess για να ορίσετε την κωδικοποίηση στο αρχείο διαμόρφωσης διακομιστή Web. Για το Apache Centos / Fedora, αυτό είναι το αρχείο httpd.conf, και στο Debian / Ubuntu, αυτό είναι ένα αρχείο Apache2.Conf. Προσθέστε την ακόλουθη γραμμή για να ορίσετε την κωδικοποίηση και να επανεκκινήσετε τον διακομιστή Web έτσι ώστε να ισχύουν οι αλλαγές:

Adddefaultcharset utf-8

Πώς να εγκαταστήσετε το UTF-8 που κωδικοποιεί στο PHP

Στο σενάριο PHP για να εγκαταστήσετε την χρησιμοποιούμενη κωδικοποίηση Επί κεφαλής., π.χ:

Κεφαλίδα ("τύπος περιεχομένου: charset \u003d utf-8");

Συνήθως, μαζί με την κωδικοποίηση, υποδεικνύουν επίσης τον τύπο περιεχομένου (στην επιλογή παραδείγματος για Html σελίδεςμικρό):

Κεφαλίδα ("τύπος περιεχομένου: κείμενο / html; charset \u003d utf-8");

Μια άλλη επιλογή για τις ταινίες RSS:

Κεφαλίδα ("τύπος περιεχομένου: κείμενο / xml; charset \u003d utf-8");

Θυμηθείτε ότι η λειτουργία Επί κεφαλής. πρέπει να καλείται πριν από οποιοδήποτε συμπέρασμα στο πρόγραμμα περιήγησης. Διαφορετικά (εάν έχει ήδη γίνει η έξοδος στο πρόγραμμα περιήγησης), οι τίτλοι έχουν ήδη σταλεί. Προφανώς, στην περίπτωση αυτή δεν είναι πλέον δυνατή η αλλαγή. Εάν εμφανίστηκε ένα μήνυμα σφάλματος στο πρόγραμμα περιήγησης, οι τίτλοι αποστέλλονται επίσης και η χρήση της κεφαλίδας θα προκαλέσει σφάλμα. Για να ελέγξετε αν έχουν σταλεί οι τίτλοι, χρησιμοποιήστε headers_sent..

Η περιγραφείσα μέθοδος λειτουργεί μόνο όταν το σενάριο PHP δημιουργεί πλήρως τα περιεχόμενα της σελίδας. Στατικές σελίδες (όπως HTML) Πρέπει να αποθηκεύσετε στην κωδικοποίηση UTF-8. Οι περισσότεροι διακομιστές ιστού θα δώσουν προσοχή στο αρχείο που κωδικοποιεί και θα προσθέσει μια κατάλληλη κεφαλίδα. Στην πραγματικότητα, η εξοικονόμηση PHP αρχείο. Η κωδικοποίηση UTF-8 θα έχει ως αποτέλεσμα το ίδιο αποτέλεσμα.

Εσφαλμένη κωδικοποίηση των αποτελεσμάτων από τη βάση δεδομένων MySQL

Εάν ο ιστότοπός σας αποτελείται από ένα στατικό μέρος (πρότυπο) και δυναμικό, το οποίο παράγεται από τα δεδομένα που λαμβάνονται από τη βάση δεδομένων, τότε μπορεί να συμβεί μια κατάσταση όταν ένα μέρος του ιστότοπου έχει τη σωστή κωδικοποίηση και το άλλο τμήμα του ιστότοπου έχει λανθασμένο. Σε αυτή την περίπτωση, είναι άχρηστο να αλλάξετε τις ρυθμίσεις του διακομιστή ιστού - επειδή όλο το ίσο μέρος της σελίδας θα έχει εσφαλμένη κωδικοποίηση.

Πρέπει να ξεκινήσετε με τον ορισμό της κωδικοποίησης των πινάκων σας. Μπορείτε να δείτε B. phpmyadmin.:

Δώστε προσοχή στη στήλη " Σύγκριση", Ρεκόρ" uTF8_UNICODE_CI."Σημαίνει ότι χρησιμοποιείται η κωδικοποίηση UTF-8..

Μπορείτε να συνδεθείτε με το MySQL DBMS και να ελέγξετε τον πίνακα που κωδικοποιεί χωρίς phpmyadmin. Για αυτό:

Mysql -u root -p

Εάν έχετε ξεχάσει το όνομα της βάσης δεδομένων και, στη συνέχεια, εκτελέστε την εντολή:

Εμφάνιση βάσεων δεδομένων.

Ας υποθέσουμε ότι θέλω να δω την κωδικοποίηση για τραπέζια στη βάση δεδομένων στο information_schema

Χρησιμοποιήστε πληροφορίες_schema;

Εάν ξεχάσετε τα ονόματα των πινάκων, εκτελέστε:

Εμφάνιση πλήρων κονστών από το όνομα_table;

Για παράδειγμα:

Εμφάνιση πλήρων στηλών από το Global_status.

Θα δείτε τα εξής:

Βλέπε στήλη Αντιπαραβολή. Στην περίπτωσή μου εκεί utf8_general_ci., είναι σαν uTF8_UNICODE_CI., που κωδικοποιεί UTF-8.. Από το δρόμο, αν δεν ξέρετε ποια είναι η διαφορά μεταξύ των κωδικοποιητών utf8_general_ci., uTF8_UNICODE_CI., utf8mb4_general_ci, uTF8MB4_UNICODE_CI., καθώς και τι κωδικοποίηση για να επιλέξει για τη βάση δεδομένων Δεδομένα MySQL, στη συνέχεια, κοιτάξτε.

Τώρα, όταν μάθαμε την κωδικοποίηση (στην περίπτωσή μου είναι UTF-8), τότε κάθε φορά που συνδέεστε με το MySQL DBMS, πρέπει να εκτελεστούν διαδοχικά ερωτήματα:

Ορισμός ονόματος UTF8 Set Χαρακτήρας Χαρακτήρας UTF8 Set Character_set_client \u003d UTF8 Set Character_set_Connection \u003d UTF8 SET CHANDINGS_SET_RESULTION \u003d UTF8

Στο PHP μπορεί να γίνει κάτι τέτοιο:

$ αυτό-\u003e mysqli \u003d νέος mysqli ($ server, $ username, $ κωδικός πρόσβασης, $ basename); Εάν ($ this-\u003e mysqli-\u003e connect_error) ($ this-\u003e refrandler_c-\u003e logetror (1, "σύνδεση σφάλματος (" $ about-\u003e mysqli-\u003e connectno. ")". , $ _Server ["request_uri"]]);) $ Αυτό-\u003e mysqli-\u003e Query ("Ονόματα UTF8"). $ Αυτό-\u003e mysqli-\u003e Query ("Set Character Set UTF8"). $ Αυτό-\u003e Query mysqli-\u003e ("Set Character_set_client \u003d UTF8"); $ Αυτό-\u003e Query MySQLI-\u003e ("SET CHANDING_SET_Connection \u003d UTF8"); $ Αυτό-\u003e mysqli-\u003e Query ("Set Character_set_results \u003d UTF8");

Σημειώστε ότι UTF8.Πρέπει να αντικαταστήσετε την κωδικοποίηση που χρησιμοποιείται για τα τραπέζια σας.

Αλλαγή κωδικοποίησης αρχείων

Εάν αποφασίσετε να πάτε σε άλλο τρόπο και αντί να εγκαταστήσετε μια νέα κωδικοποίηση, αλλάξτε την κωδικοποίηση των αρχείων σας, στη συνέχεια να δείτε το άρθρο "". Περιγράφεται σε αυτό, πώς να μάθετε την τρέχουσα κωδικοποίηση αρχείων και τον τρόπο μετατροπής αρχείων σε οποιαδήποτε κωδικοποίηση (όχι μόνο UTF-8).

Πώς να μάθετε τι αποστέλλει ο διακομιστής

Εάν θέλετε να μάθετε ποιες ρυθμίσεις κωδικοποίησης έχουν έναν διακομιστή ιστού (η οποία η κωδικοποίηση μεταδίδεται σε κεφαλίδες), στη συνέχεια χρησιμοποιήστε την ακόλουθη εντολή:

Curl URL -S -O / DEV / NULL -D / DEV / Stdout | Grep -e "charset"

Σε αυτό αντ 'αυτού ΟυσίαΤοποθετήστε την πραγματική διεύθυνση του ιστότοπου που ελέγχεται. Εάν ο ιστότοπος χρησιμοποιεί https, τότε καθορίστε τη διεύθυνση του ιστότοπου μαζί με το πρωτόκολλο, για παράδειγμα

Curl https://softocracy.ru -s -o / dev / null -d / dev / stdout | Grep -e "charset"

Τι κωδικοποίηση για να επιλέξετε για τον ιστότοπο

Μια τεράστια συλλογή βίντεο πορνό της πρώτης κατηγορίας είναι έτοιμη να σας ανοίξει τις πόρτες στον φανταστικό κόσμο των απολαύσεων. Το Pornhab.kom έγινε διάσημο για την αξεπέραστη ποιότητα των προσφερόμενων υπηρεσιών, έτσι επιλέγοντας τον ιστότοπό μας, βεβαιωθείτε ότι όλα σκέφτονται εδώ για τη μικρότερη λεπτομέρεια. Η αφθονία μιας ποικιλίας κατηγοριών θα ευχαριστήσει κάθε επισκέπτη, είτε πρόκειται για έμπειρο θεατή ή νεοεισερχόμενο. Το παρουσιασμένο υλικό επιλέγεται με ιδιαίτερη φροντίδα, οπότε κάθε ανεμιστήρας του Pornhub.com θα είναι σε θέση να βυθιστεί σε μια αξέχαστη ερωτική ατμόσφαιρα. Στο κατώτατο όριο για να απολαύσετε θα σας απονεμηθεί pornstar, έτοιμος να σας προσφέρω Οι καλύτεροι κυλίνδρους. Σε αυτά, οι επαγγελματίες του σώματός τους δείχνουν ζεστό φύλο σε όλες τις εκδηλώσεις του. Οι λάτρεις του συναρπαστικού σπιτικού πορνό ούτε δεν θα στερηθούν. Το Pornchub αντιπροσωπεύει μια τεράστια συλλογή σκηνών με τη συμμετοχή αξιολάτρευτων κοριτσιών, έτοιμη να χτυπήσει ταλαντούχους σεξουαλικές ευκαιρίες. Δεν έχουν κανένα στόχο να ενεργήσουν Επαγγελματικό βίντεοΑλλά η ικανότητά τους μπορούν εύκολα να κάνουν έναν διαγωνισμό στο αστέρι πορνό. Οι οπαδοί του εξωτικού θα εκπλαγούν ευχάριστα από τον αριθμό του κινηματογραφικού υλικού με τη συμμετοχή του Mulatto, ασιατικές και μαύρες απωθητικές. Υπάρχει μόνο κάτι που πρέπει να σκεφτείτε πώς η υποτακτική ιεροσύνη της αγάπης αμέσως θα πραγματοποιηθεί από τις αγαπημένες σας φαντασιώσεις με τον καλύτερο δυνατό τρόπο. Να είστε αληθινός στον εαυτό σας, αλλά μην ξεχάσετε να χαλαρώσετε, εμπιστευθείτε τις έμπειρες νύμφες, που γνωρίζουν μια αίσθηση σε ένα καλό trach και ικανοποιώντας τις αρσενικές ιδιοτροπίες. Μερικές φορές εμείς οι ίδιοι δεν μπορούμε να καταλάβουμε τι χρειαζόμαστε, αλλά το όφελος του Pornhab είναι ένας τόπος όπου τέτοιες ερωτήσεις απλά δεν εμφανίζονται.

Σας προσκαλούμε να χαλαρώσετε στο περιβάλλον που είναι πιο κατάλληλο κάτω από τη σημερινή σας διάθεση. Ίσως τώρα θα ικανοποιήσετε το Crazy Gangbang, και αύριο, η επιθυμία είναι δραστική διαφορετική και η επιλογή πέφτει σε ρομαντικό σεξ με ένα χαριτωμένο μοντέλο. Όλα αυτά και πολλά άλλα θα βρείτε εδώ επειδή το Pornhouse αφήνει το δικαίωμα να επιλέξει για εσάς. Δεν απαιτείται να προσαρμόσετε τις ιδιοτροπίες σας ως ιστότοπο, καθώς διαθέτουμε όλα όσα χρειαζόμαστε έναν γνώστη καλού πορνό. Όντας αγωγοί στον κόσμο της σεξουαλικής ικανοποίησης, μελετήσαμε όλες τις αποχρώσεις παροχής υπηρεσιών υψηλής ποιότητας, οπότε αν βρίσκεστε σε αναζήτηση ενός ιδανικού χώρου για ψυχαγωγία, αξίζει να σημειωθεί ότι έχετε έρθει στη διεύθυνση. Εάν έχετε συγκεκριμένες στόχους, τότε αισθανθείτε ελεύθερος να τους μεταφέρετε, να είστε στις σελίδες των αγαπημένων σας βίντεο πορνό. Σε περίπτωση που ήρθατε για κάτι νέο, τότε σας προτείνουμε να εξοικειωθείτε με το φρεσκοψημένο υλικό.

Εγγυόμαστε κάθε θεατή που αξίζει την ικανοποίηση και το υπέροχο χόμπι. Το Pornhub ανοίγει τις πόρτες του για να παρέχει μόνο τους καλύτερους κυλίνδρους. Δεν πρέπει να οριστεί περισσότερο στην αναζήτηση χωρίς νόημα, επειδή όλα έχουν ήδη γίνει για εσάς. Όπου, όπως και εδώ, μπορείτε να περιποιηθείτε τον εαυτό σας με μια ποικιλία οικόπεδων και την άριστη ποιότητα της πραγματοποίησης των αγαπημένων επιθυμιών. Δεν σας προσφέρουμε μια ημερήσια περιοδεία, αλλά η πιθανότητα απεριόριστου ταξιδιού στη χώρα της λαγνείας και της debauchery. Εδώ κάθε επισκέπτης περιμένει τα πάντα που χρειάζεστε και ακόμα και μια πτώση περισσότερο.

Αλλά πρώτα, θέλω να ευχαριστήσω τον Volkov Sergey και τη Σανόβανα Denis, των οποίων τα υλικά βοήθησαν στην προετοιμασία αυτού του άρθρου.

Προσοχή! Επεξεργασία αρχείων ιστότοπου που χρειάζονται μέσω FTP ή SSH.

Και τώρα προχωρήστε.

1. Κάντε αντιγράφων ασφαλείας Και βεβαιωθείτε ότι έχετε συμπεριλάβει μια βάση δεδομένων και όλα τα αρχεία ιστότοπου.

2. Εάν χρησιμοποιείτε μια witrelate hosting, ρωτήστε την τεχνική υποστήριξη να ορίσετε τις ακόλουθες παραμέτρους:

mbstring.func_overload 2.
MBSTRING.Internal_Encoding UTF-8
Αν χρησιμοποιείτε Εικονική μηχανή Bitrix, μπορείτε να τα εγκαταστήσετε μόνοι σας.

3. Αφαιρέστε τις μονάδες "Αναζήτηση" χωρίς να εξοικονομείτε πίνακες και "Web Analytics" (χωρίς πίνακες αποταμίευσης, αλλά με τα πρότυπα αποθήκευσης μηνυμάτων).

4. Αφαιρέστε ένα μεταφρασμένο από τη μονάδα "Φόρουμ" από το λεξικό Υπηρεσίες\u003e Φόρουμ\u003e Φίλτρο άσεμνων λέξεων\u003e Λεξικό Λεξικό) Το γράμμα "E", το οποίο έχει αναγνωριστικό \u003d 7.

5. Αλλάξτε την κωδικοποίηση από Windows-1251 σε UTF-8 σε περιφερειακές ρυθμίσεις.


Στις ρυθμίσεις του ιστότοπου, πρέπει να επιλεγεί η αντίστοιχη περιφερειακή ρύθμιση.

6. Προσθήκη στο /bitrix/php_interface/dbconn.php:

Ορίστε ("bx_utf", αληθινό).

7. Κατεβάστε το σενάριο Convert_utf8.php στον ριζικό κατάλογο του ιστότοπου, ξεκινήστε το και περιμένετε την εκπλήρωση της.
Το πρώτο βήμα ελέγχεται για την αλλαγή αρχείων, η δεύτερη είναι η μετατροπή όλων των αρχείων ιστότοπου και η τελευταία - η αλλαγή της κωδικοποίησης βάσης δεδομένων.
Εάν έχετε μια πολύ μεγάλη βάση δεδομένων, η μετατροπή του μπορεί να διαρκέσει πολύ καιρό ή δεν θα ολοκληρωθεί με επιτυχία καθόλου. Σε αυτή την περίπτωση, αλλάζουμε τη βάση δεδομένων που κωδικοποιεί χειροκίνητα ως εξής. Στον πίνακα διαχειριστή στη σελίδα "SQL Query", εκτελέστε το ακόλουθο ερώτημα:


Όπου το database_name είναι το όνομα της βάσης δεδομένων σας.
Αυτό το ερώτημα θα εμφανίσει ένα νέο αίτημα στη σελίδα που θα εκτελεστεί στην ίδια σελίδα:


Αντιγράψτε όλες τις σειρές ενός νέου ερωτήματος (μην ξεχάσετε να απενεργοποιήσετε τον περιορισμό στην έξοδο του αριθμού των καταχωρήσεων στη σελίδα) και εκτελέστε το νέο αίτημα που λάβατε. Μετά την ολοκλήρωση της εκτέλεσης, όλοι οι πίνακες βάσης θα μεταφραστούν σε κωδικοποίηση UTF-8.

8. Σπρώξτε το /bitrix/php_interface/after_connect.php:

$ Db-\u003e Query ("Ονόματα" UTF8 "). $ DB-\u003e Query ("Set Collation_Connection \u003d" UTF8_UNICODE_CI ").

9. Σπρώξτε το /bitrix/php_interface/after_connect_d7.php:
$ Σύνδεση-\u003e QueryExcute ("Ονόματα" UTF8 "). $ Σύνδεση -\u003e QueryExcute ("Set Collation_Connection \u003d" UTF8_UNICODE_CI ");

10. Σπρώξτε το /bitrix/.settings.php:
Array επιστροφής ("UTF_MODE" \u003d\u003e ARRAY ("τιμή" \u003d\u003e true, "readonly" \u003d\u003e true,),

11. Καθαρίστε ολόκληρη την τοποθεσία προσωρινής μνήμης και βγείτε από το προφίλ σας, τότε πηγαίνετε ξανά σε αυτό ξανά.

12. Διαγράψτε το σενάριο convert_utf8.php.

13. Εγκαταστήστε τη μονάδα αναζήτησης και την επανεκκίνηση.

14. Εγκαταστήστε τη μονάδα Web Analytics εάν το χρησιμοποιήσετε νωρίτερα.

Ετοιμος!

Μετά τη μετατροπή του ιστότοπου, ενδέχεται να εμφανιστούν προβλήματα με τις σειριοποιημένες συστοιχίες (κυρίως ιδιότητες του κειμένου HTML και τις ρυθμίσεις εμφάνισης για τους χρήστες στο admin). Σε αυτή την περίπτωση, θα βοηθήσετε