Modificarea Bitrix Encoding la utf8

Modificarea Bitrix Encoding la utf8

Modificarea codificării Bitrix la UTF8

Destul de des se întâlnește cu situația în care site-ul utilizează codarea cp1251, deși "1C-Bitrix" suportă deja codarea UTF-8 timp de zece ani. Practic, acestea sunt proiecte destul de vechi care lucrează și evoluează până acum, dar nu au putut trece la UTF-8 din cauza unor dificultăți tehnice aparent.






Astăzi vă voi spune despre partea tehnică a întrebării, prin care puteți transforma site-ul în Bitrix în codarea UTF-8.
Dar mai întâi vreau să-mi exprim recunoștința față de Volkov Sergey și Sharomov Denis, ale căror materiale au contribuit la pregătirea acestui articol.

Atenție vă rog! Trebuie să editați fișierele site-urilor prin ftp sau ssh.

Acum să începem.

1. Faceți o copie de rezervă și asigurați-vă că includeți baza de date și toate fișierele de site-uri din ea.

2. Dacă utilizați hosting virtual, solicitați asistență tehnică să setați următorii parametri:

Dacă utilizați o mașină virtuală Bitrix, le puteți instala singuri.

3. Ștergeți modulele "Căutare" fără a salva tabelele și "Web Analytics" (fără salvarea tabelelor, dar cu salvarea șabloanelor mesajelor).







4. Pentru a elimina din dicționarul de transcriere în modulul forumului (Servicii> Forumuri> Filtre greșite cuvinte> Transcriere dicționar) litera "e", care are ID = 7.

5. Modificați setările regionale codificarea de la ferestrele-1251 la utf-8.

Modificarea Bitrix Encoding la utf8

În setările site-ului, trebuie să selectați setarea regională corespunzătoare.

6. Adăugați la /bitrix/php_interface/dbconn.php:


7. Descărcați scriptul convert_utf8.php în directorul rădăcină al site-ului. Porniți-l și așteptați executarea completă.
Primul pas verifică drepturile de modificare a fișierelor, al doilea este conversia tuturor fișierelor de pe site, iar ultima este pentru a modifica codificarea bazei de date.
Dacă aveți o bază de date foarte mare, conversia poate dura foarte mult sau nu se încheie cu succes. În acest caz, schimbați manual codarea bazei de date după cum urmează. În panoul de administrare de pe pagina "interogare SQL", executați următoarea interogare:


Unde database_name este numele bazei dvs. de date.
Această interogare va afișa o nouă interogare pe pagină, pe care va trebui să o executați pe aceeași pagină:

Modificarea Bitrix Encoding la utf8

Copiați toate liniile interogării noi (nu uitați să dezactivați limita de afișare a numărului de înregistrări din pagină) și să executați noua solicitare. După terminarea executării, toate tabelele bazei de date vor fi traduse în codificarea UTF-8.

8. Scrieți în /bitrix/php_interface/after_connect.php:


9. Scrieți în /bitrix/php_interface/after_connect_d7.php:







Trimiteți-le prietenilor: