LA CLOCHE

Il y a ceux qui ont lu cette nouvelle avant vous.
Abonnez-vous pour recevoir les derniers articles.
Email
Nom
Nom de famille
Comment voulez-vous lire The Bell
Pas de spam

Mais je tiens d'abord à exprimer ma gratitude à Sergey Volkov et Denis Sharomov, dont les documents ont aidé à la préparation de cet article.

Attention! Il est nécessaire d'éditer les fichiers du site via ftp ou ssh.

Maintenant, commençons.

1. Effectuez une sauvegarde et assurez-vous d'inclure la base de données et tous les fichiers du site.

2. Si vous utilisez un hébergement virtuel, demandez au support technique de définir les paramètres suivants:

mbstring.func_overload 2
mbstring.internal_encoding UTF-8
Si vous utilisez la machine virtuelle Bitrix, vous pouvez les installer vous-même.

3. Supprimez les modules "Recherche" sans enregistrer les tables et "Web Analytics" (sans enregistrer les tables, mais en conservant les modèles de messages).

4. Supprimez du dictionnaire la translittération dans le module "Forum" ( Services\u003e Forums\u003e Filtre grossier\u003e Dictionnaire de translittération) la lettre "ё", qui a ID \u003d 7.

5. Modifiez le codage de windows-1251 à utf-8 dans les paramètres régionaux.


Un paramètre régional approprié doit être sélectionné dans les paramètres du site.

6. Ajoutez à /bitrix/php_interface/dbconn.php:

define ("BX_UTF", vrai);

7. Chargez le script convert_utf8.php dans le répertoire racine du site, exécutez-le et attendez qu'il se termine.
La première étape consiste à vérifier les droits de modification des fichiers, la seconde consiste à convertir tous les fichiers du site et la dernière à modifier le codage de la base de données.
Si vous disposez d'une base de données très volumineuse, sa conversion peut prendre beaucoup de temps ou ne pas réussir du tout. Dans ce cas, modifiez manuellement le codage de la base de données comme suit. Dans le panneau d'administration de la page "Requête SQL", exécutez la requête suivante:


Où nom_base_de_données est le nom de votre base de données.
Cette requête affichera une nouvelle requête sur la page, qui devra être exécutée sur la même page:


Copiez toutes les lignes de la nouvelle requête (n'oubliez pas de désactiver la limite d'affichage du nombre d'enregistrements par page) et exécutez la nouvelle requête reçue. À la fin de l'exécution, toutes les tables de la base de données seront converties en encodage UTF-8.

8. Ajoutez à /bitrix/php_interface/after_connect.php:

$ DB-\u003e Query ("SET NAMES" utf8 ""); $ DB-\u003e Query ("SET collation_connection \u003d" utf8_unicode_ci "");

9. Ajoutez à /bitrix/php_interface/after_connect_d7.php:
$ connection-\u003e queryExecute ("SET NAMES" utf8 ""); $ connection-\u003e queryExecute ("SET collation_connection \u003d" utf8_unicode_ci "");

10. Entrez dans /bitrix/.settings.php:
return array ("utf_mode" \u003d\u003e array ("value" \u003d\u003e true, "readonly" \u003d\u003e true,),

11. Effacez tout le cache du site et déconnectez-vous de votre profil, puis reconnectez-vous.

12. Supprimez le script convert_utf8.php.

13. Installez le module "Recherche" et ré-indexez.

14. Installez le module "Web Analytics" si vous l'avez déjà utilisé.

Terminé!

Après la conversion du site, des problèmes avec les tableaux sérialisés peuvent survenir (il s'agit principalement de propriétés de texte HTML et de paramètres d'affichage pour les utilisateurs dans le panneau d'administration). Dans ce cas, cela vous aidera

Si le codage est incorrect, le site entier ou une partie de celui-ci est affiché comme "kryapozyabl", ie. caractères incompréhensibles qui rendent le texte illisible. Cette situation peut se produire si le codage du serveur Web est mal configuré ou s'il n'y a pas de paramètres. Envisagez les options possibles et les moyens de résoudre les problèmes

Encodage de page HTML incorrect

Créons un fichier de test:

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

Copions-y:

Vérification de l'encodage

Ouvrons ce fichier dans le navigateur http: //localhost/encoding.html

Comme vous pouvez le voir, l'encodage du navigateur est mal défini:

Il existe plusieurs moyens de remédier à cette situation. Commençons par la chose la plus simple - spécifiez explicitement l'encodage de la page Web. Cela se fait par la balise meta, qui doit être placée à l'intérieur de la balise. tête:

Ajoutons cette ligne à notre fichier de test pour qu'elle ressemble à ceci:

Vérification de l'encodage

Fichier de test pour vérifier l'encodage

Comme nous pouvons le voir sur la capture d'écran suivante, le problème est résolu:

Si l'encodage de votre fichier est différent de UTF-8, puis mettez fenêtres-1251 ou celui qui correspond à l'encodage de la page Web. Pour savoir comment détecter le codage de fichiers, jetez un œil.

C'était le moyen le plus simple de résoudre le problème d'encodage - sans modifier les paramètres du serveur.

Remettons notre fichier de test à son état d'origine et continuons à explorer les moyens de spécifier l'encodage.

Si les fichiers .htaccess activés par les paramètres Apache, ces fichiers peuvent être utilisés pour spécifier le codage des pages envoyées par le serveur Web. Pour activer la prise en charge des fichiers .htaccess dans le fichier de configuration Apache ( /etc/apache2/apache2.conf) trouver un groupe de lignes

Index des options FollowSymLinks AllowOverride Aucun Exiger tout accordé

Et en lui remplacer

AllowOverride Aucun

AllowOverride All

Après cela, le serveur doit être redémarré.

Sudo systemctl redémarre apache2.service

Fichier .htaccess doit être placé dans le même répertoire que le site. Mon site est hébergé dans le répertoire racine du serveur Web. Si vous avez aussi, alors maintenant dans le dossier / var / www / html / créer un fichier .htaccess et ajoutez-y la directive AddDefaultCharsetaprès quoi, spécifiez l'encodage souhaité. Exemples de

AddDefaultCharset UTF-8

AddDefaultCharset windows-1251

Vous pouvez spécifier un encodage qui sera appliqué uniquement aux fichiers d'un certain format:

AddCharset utf-8 .atom .css .js .json .rss .vtt .xml

L'ensemble des fichiers peut être n'importe quoi, par exemple:

AddCharset utf-8 .html .css .php .txt .js

L'option suivante est une alternative et vous permet également de définir l'encodage pour les fichiers d'un certain type, pour cela, vous devez activer mod_headers:

Ensemble d'en-tête Content-Type "text / html; charset \u003d utf-8"

Une autre option qui peut également être utilisée dans le fichier .htaccess pour définir l'encodage UTF-8:

IndexOptions + Charset \u003d UTF-8

Si le site est en PHP, vous devrez peut-être en plus dupliquer l'encodage avec php_value default_charset:

AddDefaultCharset windows-1251 php_value default_charset "cp1251"

Au lieu de créer un fichier .htaccess, vous pouvez définir le codage dans le fichier de configuration du serveur Web. Pour Apache CentOS / Fedora, il s'agit du fichier httpd.conf, et sur Debian / Ubuntu, il s'agit du fichier apache2.conf. Ajoutez la ligne suivante pour définir le codage et redémarrez le serveur Web pour que les modifications prennent effet:

AddDefaultCharset UTF-8

Comment définir l'encodage UTF-8 en PHP

Le script PHP utilise pour définir l'encodage entête, par exemple:

Header ("Content-Type: charset \u003d utf-8");

Habituellement, avec l'encodage, le type de contenu est également indiqué (dans l'exemple, l'option pour une page HTML):

Header ("Content-Type: text / html; charset \u003d utf-8");

Une autre option pour le flux RSS:

Header ("Content-type: text / xml; charset \u003d utf-8");

N'oubliez pas que la fonction entête doit être appelé avant toute sortie vers le navigateur. Sinon (si la sortie vers le navigateur a déjà été effectuée), les en-têtes ont déjà été envoyés. Evidemment, dans ce cas, il n'est plus possible de les changer. Si un message d'erreur était affiché dans le navigateur, les en-têtes ont déjà été envoyés et l'utilisation de l'en-tête générera une erreur. Pour vérifier si les en-têtes ont déjà été envoyés, utilisez headers_sent.

La méthode décrite ne fonctionne que lorsque le script PHP génère complètement le contenu de la page. Les pages statiques (telles que HTML) doivent être stockées dans un encodage utf-8. La plupart des serveurs Web feront attention à l'encodage du fichier et ajouteront l'en-tête approprié. En fait, stocker un fichier PHP en encodage utf-8 produira le même résultat.

Encodage incorrect des résultats de la base de données MySQL

Si votre site se compose d'une partie statique (modèle) et d'une partie dynamique, qui est formée à partir des données reçues de la base de données, une situation peut se produire lorsqu'une partie du site a le bon encodage et l'autre partie du site a le mauvais encodage. Dans ce cas, il est inutile de modifier les paramètres du serveur Web - car de toute façon, une partie de la page aura le mauvais encodage.

Vous devez commencer par définir le codage de vos tables. Peut être consulté dans phpMyAdmin:

Faites attention à la colonne " Comparaison", Record" utf8_unicode_ci"Signifie que l'encodage est utilisé UTF-8.

Vous pouvez vous connecter au SGBD MySQL et vérifier l'encodage de la table sans phpMyAdmin. Pour ça:

Mysql -u racine -p

Si vous avez oublié le nom de la base de données, exécutez la commande:

AFFICHER LES BASES DE DONNÉES;

Supposons que je veuille regarder le codage des tables dans la base de données information_schema

USE information_schema;

Si vous avez oublié le nom des tables, exécutez:

SHOW FULL COLUMNS FROM nom_table;

Par exemple:

MONTRER LES COLONNES COMPLÈTES DE GLOBAL_STATUS;

Vous verrez quelque chose comme ce qui suit:

Voir la colonne Collation... Dans mon cas, là utf8_general_ci, c'est comme utf8_unicode_ci, encodage UTF-8... Au fait, si vous ne savez pas quelle est la différence entre les encodages utf8_general_ci, utf8_unicode_ci, utf8mb4_general_ci, utf8mb4_unicode_ci, ainsi que le codage à choisir pour la base de données MySQL, alors jetez un œil.

Maintenant que nous avons appris l'encodage (dans mon cas, c'est UTF-8), puis chaque fois que vous vous connectez au SGBD MySQL, vous devez exécuter des requêtes séquentielles:

SET NAMES UTF8 SET CHARACTER SET UTF8 SET character_set_client \u003d UTF8 SET character_set_connection \u003d UTF8 SET character_set_results \u003d UTF8

En PHP, cela peut être fait comme ceci:

$ this-\u003e mysqli \u003d new mysqli ($ server, $ username, $ password, $ basename); if ($ this-\u003e mysqli-\u003e connect_error) ($ this-\u003e errorHandler_c-\u003e logError (1, "Connect Error (". $ this-\u003e mysqli-\u003e connect_errno. ")". $ this-\u003e mysqli-\u003e connect_error , $ _SERVER ["REQUEST_URI"]);) $ this-\u003e mysqli-\u003e query ("SET NAMES UTF8"); $ this-\u003e mysqli-\u003e query ("SET CHARACTER SET UTF8"); $ this-\u003e mysqli-\u003e query ("SET character_set_client \u003d UTF8"); $ this-\u003e mysqli-\u003e query ("SET character_set_connection \u003d UTF8"); $ this-\u003e mysqli-\u003e query ("SET character_set_results \u003d UTF8");

Notez que UTF8vous devez remplacer par le codage utilisé pour vos tables.

Changer le codage du fichier

Si vous décidez d'aller dans l'autre sens et de changer l'encodage de vos fichiers au lieu d'installer un nouvel encodage, alors consultez l'article "". Il décrit comment trouver le codage de fichier actuel et comment convertir des fichiers en n'importe quel codage (pas seulement UTF-8).

Comment savoir quel encodage le serveur envoie

Si vous souhaitez connaître les paramètres d'encodage du serveur Web (quel encodage est transmis dans les en-têtes), utilisez la commande suivante:

URL Curl -s -o / dev / null -D / dev / stdout | grep -E "charset"

Au lieu de URLinsérez l'adresse réelle du site vérifié. Si le site utilise HTTPS, spécifiez l'adresse du site avec le protocole, par exemple

Curl https://softocracy.ru -s -o / dev / null -D / dev / stdout | grep -E "charset"

Quel encodage choisir pour un site Web

Une énorme collection de vidéos pornos de première classe est prête à vous ouvrir les portes d'un monde fantastique de plaisir. Pornhub.com est devenu célèbre pour la qualité inégalée des services proposés, alors lors du choix de notre site, assurez-vous que tout est pensé dans les moindres détails. Une abondance de catégories différentes ravira chaque visiteur, qu'il s'agisse d'un spectateur expérimenté ou d'un débutant. Le matériel présenté a été sélectionné avec un soin particulier, afin que chaque fan de pornhub.com puisse se plonger dans une atmosphère érotique inoubliable. À la porte du plaisir, vous serez accueillis par des stars du porno prêtes à offrir leurs meilleures vidéos. En eux, les professionnels de leur corps démontrent le sexe chaud dans toutes ses manifestations. Les fans de porno maison passionnant ne seront pas non plus en reste. Pornhub présente une énorme collection de scènes mettant en vedette des filles adorables qui sont prêtes à surprendre par leurs talents sexuels. Ils n'ont pas pour objectif de filmer des vidéos professionnelles, mais leur capacité peut facilement rivaliser avec une star du porno. Les fans d'exotisme seront agréablement surpris par la quantité de séquences mettant en vedette des mulâtres, des Asiatiques et des femmes noires. Il suffit de penser à quelque chose, comment les prêtresses obéissantes de l'amour réaliseront immédiatement vos fantasmes chers de la meilleure façon possible. Soyez fidèle à vous-même, mais n'oubliez pas de vous détendre en faisant confiance à des nymphes expérimentées qui en savent beaucoup sur la bonne baise et les caprices masculins satisfaisants. Parfois, nous ne pouvons pas comprendre nous-mêmes ce dont nous avons besoin, mais l'avantage de pornhub est un endroit où de telles questions ne se posent tout simplement pas.

Nous vous invitons à vous détendre dans l'environnement qui correspond le mieux à votre humeur d'aujourd'hui. Peut-être que maintenant vous serez satisfait d'un sexe de groupe fou, et demain vos envies seront radicalement différentes et le choix se portera sur le sexe romantique avec un modèle mignon. Tout cela et bien plus encore peuvent être trouvés ici, car le pornhub vous laisse le choix. Vous n'avez pas à ajuster vos caprices aux capacités du site, car nous avons tout ce dont un connaisseur de bon porno a besoin. En tant que guides du monde de la satisfaction sexuelle, nous avons appris toutes les nuances de la fourniture de services de haute qualité, donc si vous recherchez l'endroit idéal pour vous amuser, il convient de noter que vous êtes au bon endroit. Si vous avez certains objectifs, n'hésitez pas à les mettre en œuvre sur les pages de vos vidéos porno préférées. Si vous êtes venu pour quelque chose de nouveau, nous vous suggérons de vous familiariser avec le matériau fraîchement cuit.

Nous garantissons à chaque spectateur une satisfaction digne et un passe-temps merveilleux. Pornhub vous ouvre ses portes pour ne livrer que les meilleures vidéos. Vous n'avez plus besoin de vous poser des recherches inutiles, puisque tout a déjà été fait pour vous. Où, sinon ici, vous pourrez vous dorloter avec une variété de parcelles et une excellente qualité de réalisation de vos désirs chéris. Nous vous proposons non pas une excursion d'une journée, mais la possibilité d'un voyage illimité au pays de la luxure et de la débauche. Ici, chaque visiteur attend tout ce dont vous avez besoin et même un peu plus.

LA CLOCHE

Il y a ceux qui ont lu cette nouvelle avant vous.
Abonnez-vous pour recevoir les derniers articles.
Email
Nom
Nom de famille
Comment voulez-vous lire The Bell
Pas de spam