LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere The Bell
Niente spam

Se la codifica non è corretta, l'intero sito o parte di esso viene visualizzato come "kryapozyabl", ad es. caratteri incomprensibili che rendono illeggibile il testo. Questa situazione può verificarsi se la codifica del server Web non è configurata correttamente o se non sono presenti impostazioni. Considera le possibili opzioni e modi per risolvere i problemi

Codifica della pagina HTML errata

Creiamo un file di prova:

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

Copiamoci dentro:

Controllo della codifica

Apriamo questo file nel browser http: //localhost/encoding.html

Come puoi vedere, la codifica del browser è definita in modo errato:

Esistono diversi modi per porre rimedio a questa situazione. Cominciamo con la cosa più semplice: specifica esplicitamente la codifica per la pagina web. Questo viene fatto dal meta tag, che deve essere posizionato all'interno del tag. capo:

Aggiungiamo questa riga al nostro file di test in modo che assomigli a questo:

Controllo della codifica

Prova il file per controllare la codifica

Come possiamo vedere dallo screenshot seguente, il problema è risolto:

Se la codifica del file è diversa da UTF-8, poi mettere windows-1251 o quello che corrisponde alla codifica della pagina web. Per sapere come determinare la codifica dei file, dai un'occhiata.

Questo era il modo più semplice per risolvere il problema di codifica, senza modificare le impostazioni del server.

Restituiamo il nostro file di prova a lo stato iniziale e continua ad esplorare modi per specificare la codifica.

Se i file .htaccess abilitati dalle impostazioni di Apache, questi file possono essere utilizzati per specificare la codifica delle pagine inviate dal server web. Per abilitare il supporto dei file .htaccess nel config file Apache ( /etc/apache2/apache2.conf) trova un gruppo di linee

Opzioni Indici FollowSymLinks AllowOverride Nessuno Richiedi tutto concesso

E in esso sostituire

AllowOverride Nessuno

AllowOverride All

Successivamente, il server deve essere riavviato.

Sudo systemctl riavvia apache2.service

File .htaccess deve essere posizionato nella stessa directory del sito. Il mio sito è ospitato nella directory principale del server web. Se lo hai anche tu, ora nella cartella / var / www / html / crea un file .htaccess e aggiungere la direttiva ad esso AddDefaultCharsetdopodiché specificare la codifica desiderata. Esempi di

AddDefaultCharset UTF-8

AddDefaultCharset windows-1251

È possibile specificare la codifica che verrà applicata solo ai file di un determinato formato:

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

L'insieme di file può essere qualsiasi cosa, ad esempio:

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

L'opzione successiva è un'alternativa e ti consente anche di impostare la codifica per i file di un certo tipo, poiché devi abilitare mod_headers:

Header set Content-Type "text / html; charset \u003d utf-8"

Un'altra opzione che può essere utilizzata anche nel file .htaccess per impostare la codifica UTF-8:

IndexOptions + Charset \u003d UTF-8

Se il sito è in PHP, potrebbe essere necessario duplicare la codifica con php_value default_charset:

AddDefaultCharset windows-1251 php_value default_charset "cp1251"

Invece di creare un file .htaccess, puoi impostare la codifica nel file di configurazione del server web. Per Apache CentOS / Fedora, questo è il file httpd.conf, e su Debian / Ubuntu, questo è il file apache2.conf. Aggiungere la seguente riga per impostare la codifica e riavviare il server Web affinché le modifiche abbiano effetto:

AddDefaultCharset UTF-8

Come impostare la codifica UTF-8 in PHP

NEL Script PHPe per impostare la codifica viene utilizzato intestazione, per esempio:

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

Di solito, insieme alla codifica, viene indicato anche il tipo di contenuto (nell'esempio, l'opzione per una pagina HTML):

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

Un'altra opzione per il feed RSS:

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

Ricorda che la funzione intestazione deve essere chiamato prima di qualsiasi output nel browser. Altrimenti (se l'output al browser è già stato effettuato), le intestazioni sono già state inviate. È ovvio che in questo caso non è più possibile modificarli. Se nel browser è stato visualizzato un messaggio di errore, le intestazioni sono già state inviate e l'utilizzo dell'intestazione genererà un errore. Per verificare se le intestazioni sono già state inviate, utilizzare headers_sent.

Il metodo descritto funziona solo quando lo script PHP genera completamente il contenuto della pagina. Pagine statiche (come html) è necessario salvare nella codifica utf-8. La maggior parte dei server web presterà attenzione alla codifica del file e aggiungerà l'intestazione appropriata. In effetti, risparmiando File PHP in utf-8 la codifica produrrà lo stesso risultato.

Codifica errata dei risultati dal database MySQL

Se il tuo sito è costituito da una parte statica (modello) e una parte dinamica, che è formata dai dati ricevuti dal database, potrebbe verificarsi una situazione in cui una parte del sito ha la codifica corretta e l'altra parte del sito ha quella sbagliata. In questo caso, è inutile modificare le impostazioni del server web, poiché comunque parte della pagina avrà la codifica sbagliata.

Devi iniziare definendo la codifica delle tue tabelle. Può essere visualizzato in phpMyAdmin:

Presta attenzione alla colonna " Confronto", L'entrata" utf8_unicode_ci"Significa che viene utilizzata la codifica UTF-8.

Puoi connetterti a MySQL DBMS e controllare la codifica della tabella senza phpMyAdmin. Per questo:

Mysql -u root -p

Se hai dimenticato il nome del database, esegui il comando:

MOSTRA DATABASE;

Si supponga di voler esaminare la codifica per le tabelle nel database information_schema

USE information_schema;

Se hai dimenticato il nome delle tabelle, esegui:

MOSTRA COLONNE COMPLETE DA nome_tabella;

Per esempio:

MOSTRA LE COLONNE COMPLETE DA GLOBAL_STATUS;

Vedrai qualcosa di simile al seguente:

Vedi colonna Fascicolazione... Nel mio caso, lì utf8_general_ci, è come utf8_unicode_ci, codifica UTF-8... A proposito, se non sai qual è la differenza tra le codifiche utf8_general_ci, utf8_unicode_ci, utf8mb4_general_ci, utf8mb4_unicode_ci, nonché quale codifica scegliere per la base dati MySQLquindi dai un'occhiata.

Ora che abbiamo imparato la codifica (nel mio caso è UTF-8), quindi ogni volta che ti connetti al DBMS MySQL, devi eseguire query in sequenza:

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

In PHP può essere fatto in questo modo:

$ this-\u003e mysqli \u003d nuovo 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");

nota che UTF8è necessario sostituire con qualsiasi codifica utilizzata per le tabelle.

Cambia la codifica del file

Se decidi di andare dall'altra parte e modificare la codifica dei tuoi file invece di installare una nuova codifica, consulta l'articolo "". Spiega come scoprire la codifica del file corrente e come convertire i file in qualsiasi codifica (non solo UTF-8).

Come scoprire quale codifica sta inviando il server

Se vuoi sapere quali impostazioni di codifica ha il server web (quale codifica viene trasmessa nelle intestazioni), usa il seguente comando:

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

Invece di Urlinserire il vero indirizzo del sito verificato. Se il sito utilizza HTTPS, specifica l'indirizzo del sito insieme al protocollo, ad esempio

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

Quale codifica scegliere per un sito web

Ma prima voglio esprimere la mia gratitudine a Sergey Volkov e Denis Sharomov, i cui materiali hanno aiutato nella preparazione di questo articolo.

Attenzione! È necessario modificare i file del sito tramite ftp o ssh.

Adesso cominciamo.

1. Crea backup e assicurati di includere il database e tutti i file del sito in esso.

2. Se utilizzi l'hosting virtuale, chiedi al supporto tecnico di impostare i seguenti parametri:

mbstring.func_overload 2
mbstring.internal_encoding UTF-8
Se stai usando macchina virtuale Bitrix, puoi installarli da solo.

3. Rimuovere i moduli "Cerca" senza salvare tabelle e "Web Analytics" (senza salvare tabelle, ma conservare modelli di messaggi).

4. Rimuovi dal dizionario la traslitterazione nel modulo "Forum" ( Servizi\u003e Forum\u003e Filtro oscenità\u003e Dizionario di traslitterazione) la lettera "ё", che ha ID \u003d 7.

5. Modificare la codifica da windows-1251 a utf-8 nelle impostazioni internazionali.


L'impostazione regionale corrispondente deve essere selezionata nelle impostazioni del sito.

6. Aggiungi a /bitrix/php_interface/dbconn.php:

define ("BX_UTF", true);

7. Carica lo script convert_utf8.php nella directory principale del sito, eseguilo e attendi che venga completato.
Il primo passo è verificare i diritti per modificare i file, il secondo è convertire tutti i file del sito e l'ultimo per modificare la codifica del database.
Se si dispone di un database molto grande, la conversione potrebbe richiedere molto tempo o non riuscire affatto. In questo caso, modifichiamo manualmente la codifica del database come segue. Nel pannello di amministrazione nella pagina "Query SQL", esegui la seguente query:


Dove database_name è il nome del database.
Questa richiesta mostrerà una nuova richiesta sulla pagina, che dovrà essere eseguita sulla stessa pagina:


Copia tutte le righe della nuova query (non dimenticare di disabilitare il limite sulla visualizzazione del numero di record per pagina) ed esegui la nuova query ricevuta. Al termine dell'esecuzione, tutte le tabelle del database verranno convertite in codifica UTF-8.

8. Aggiungi a /bitrix/php_interface/after_connect.php:

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

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

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

11. Svuota l'intera cache del sito ed esci dal tuo profilo, quindi accedi di nuovo.

12. Rimuovere lo script convert_utf8.php.

13. Installa il modulo "Cerca" e reindicizza.

14. Installa il modulo "Web Analytics" se lo hai già utilizzato.

Fatto!

Dopo la conversione del sito, potrebbero sorgere problemi con gli array serializzati (si tratta principalmente di proprietà del testo Html e impostazioni di visualizzazione per gli utenti nel pannello di amministrazione). In questo caso, ti aiuterà

Una vasta raccolta di video porno di prim'ordine è pronta per aprirti le porte a un fantastico mondo di piacere. Pornhub.com è diventato famoso per la qualità insuperabile dei servizi offerti, quindi quando scegli il nostro sito, assicurati che tutto sia pensato nei minimi dettagli. Un'abbondanza di diverse categorie delizierà ogni visitatore, che sia uno spettatore esperto o un principiante. Il materiale presentato è stato selezionato con particolare cura, così ogni fan di pornhub.com potrà immergersi in un'atmosfera erotica indimenticabile. Sulla soglia del divertimento sarai accolto da pornostar, pronte a offrire i loro migliori video. In loro, i professionisti dei loro corpi dimostrano il sesso bollente in tutte le sue manifestazioni. Anche i fan dell'eccitante porno fatto in casa non saranno lasciati fuori. Pornhub presenta una vasta collezione di scene con ragazze adorabili pronte a stupire con le loro capacità sessuali di talento. Non hanno l'obiettivo di filmare video professionali, ma la loro abilità può facilmente competere con una porno star. I fan dell'esotico saranno piacevolmente sorpresi dalla quantità di filmati con mulatti, asiatici e donne di colore. Basta pensare a qualcosa, come obbedienti sacerdotesse dell'amore soddisferanno immediatamente le tue amate fantasie nel miglior modo possibile. Sii fedele a te stesso, ma non dimenticare di rilassarti, fidandoti di ninfe esperte che sanno molto di una bella scopata e di soddisfare i capricci maschili. A volte noi stessi non riusciamo a capire di cosa abbiamo bisogno, ma fortunatamente pornhub è un posto in cui tali domande semplicemente non sorgono.

Ti invitiamo a rilassarti nell'ambiente che meglio si adatta al tuo stato d'animo oggi. Forse ora sarai soddisfatto di un pazzo sesso di gruppo, e domani i tuoi desideri saranno radicalmente diversi e la scelta ricadrà sul sesso romantico con una modella carina. Tutto questo e molto altro può essere trovato qui, poiché il pornhub lascia la scelta a te. Non devi adattare i tuoi capricci alle capacità del sito, poiché abbiamo tutto ciò di cui ha bisogno un intenditore di buon porno. Come guide al mondo della soddisfazione sessuale, abbiamo imparato tutte le sfumature della fornitura di servizi di alta qualità, quindi se stai cercando il posto perfetto per divertirti, allora vale la pena notare che sei nel posto giusto. Se hai determinati obiettivi, sentiti libero di implementarli, trovandoti sulle pagine dei tuoi video porno preferiti. Nel caso in cui venissi per qualcosa di nuovo, ti suggeriamo di familiarizzare con il materiale appena sfornato.

Garantiamo ad ogni spettatore una degna soddisfazione e un meraviglioso passatempo. Pornhub ti apre le porte per offrirti solo i migliori video. Non hai più bisogno di chiederti ricerche senza senso, poiché tutto è già stato fatto per te. Dove, se non qui, puoi coccolarti con una varietà di trame e l'eccellente qualità di realizzare i tuoi desideri cari. Non ti offriamo un tour di un giorno, ma la possibilità di viaggi illimitati nella terra della lussuria e della dissolutezza. Qui ogni visitatore aspetta tutto ciò di cui hai bisogno e anche un po 'di più.

LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere The Bell
Niente spam