Conversia site-ului de la cp1251 la UTF8 la 1C-Bitrix
* Postul de blog al lui Denis Sharomov în grupul de bloguri pentru dezvoltatori 1C-Bitrix
În ciuda faptului că suportul UTF8 a apărut în produs pentru o lungă perioadă de timp, există multe proiecte realizate pe versiunea veche în cp1251. Teoretic, nu este dificil să se facă o conversie, dar pot apărea dificultăți.
Faceți imediat o rezervă că această postare nu se pretinde a fi un document oficial, ar trebui să fie un bun ajutor pentru această problemă.
- Pentru a rula site-ul pe Bitrix în utf8, este absolut necesar să aveți modulul mbstring în php (acesta este aproape pe orice hosting) și setarea parametrului
Pe un server VPS / dedicat, parametrul se modifică fără probleme în php.ini.
- Pregătiți serverul așa cum se arată mai sus
- Adăugați la /bitrix/php_interface/dbconn.php
$ DB-> Interogare ("SET NAMES" cp1251 ");
$ DB-> Interogare ("SET NAMES 'utf8'");
Partea practică a întrebării
După modificarea codării site-ului, partea publică devine:
Acest lucru este normal, browserul încearcă să afișeze datele în codificare greșită. Acum, după toate acțiunile, aspectul va fi restabilit și vom vedea că procesul a avut succes.
Un număr mare de fișiere trebuie convertite în pași, pentru asta voi folosi timpul pentru a căuta viruși. În general, aici trebuie doar să convertiți funcția de substituție într-o conversie prin mb_convert_encoding.
Notă. Adesea, atunci când se utilizează programe externe pentru conversie, se adaugă o succesiune specială de simboluri în fișiere. BOM. Aceste caractere ar trebui să fie doar la începutul fișierului și, deoarece pagina HTML care rezultă este o compoziție a mai multor fișiere php, caracterele speciale apar în corpul paginii html. Dacă o faci manual, nu-l salva cu BOM!
Pentru a converti baza de date, trebuie să modificați codificarea bazei de date, toate tabelele și toate câmpurile de text din tabele. De asemenea, este foarte util să o faceți manual. Am decis să convertesc fișierele și bazele de date într-un singur script.
Scriptul face următoarele:
- Conversia tuturor fișierelor la utf8
- Conversia bazei de date la utf8
Restul trebuie făcut manual din listă în ordinea în care este scris.
Ca urmare, am primit o fotografie
La crearea site-ului, vom forma Pachetul de Proiect. care include tot materialul necesar pentru muncă, precum și bonusuri suplimentare.
Pachetul de Proiect include:- CD-ROM-ul cu site-ul de materii prime, culorile tabelul de culori utilizate, tapet pentru a se potrivi stilului creat de proiect, precum și o copie de siguranță completă a site-ului și manualul de gestionare a site-ului.
- Cartelă flash pe 1-Gb - ca un cadou
- Reducere de 5% pentru orice serviciu următor
- Certificat de înregistrare a numelui de domeniu
Dezvoltarea de magazine online cu conversie ridicată, integrare cu 1C. Consultanta in organizarea si managementul vanzarilor - la comanda fiecarui proiect. Comandați magazin online
La comanda mai multor servicii - suntem bucuroși să vă oferim reduceri suplimentare. De exemplu, atunci când comandați un site, găzduire și suport site-ul - reducere de 10% pentru toate serviciile! Pachetul de servicii pentru comandă
Dezvoltarea unui stil corporativ unic de orice nivel. Crearea de logo-uri și elemente de identitate corporativă. Dezvoltarea profesională a companiei de cărți de marcă. Dezvoltarea comenzilor