Nume Tutorial: Aplicarea corecta a diacriticelor in site
Descriere: Aplicarea corecta a diacriticelor in site
Download:
Autor: Anonim
Sursa (Link-ul oficial):
Propria parere: Folositor.
Tutorialul:
Deseori întâlnesc pe diferite forum-uri de programare întrebări de genul "nu mi se văd diacriticele" sau "nu se salvează corect diacriticele în baza de date".
În continuare o să încerc să vă lămuresc care sunt pașii ce trebuiesc făcuți pentru a nu avea astfel de probleme când utilizati diacritice în site.
Sunt 5 pași de care trebuie să țineți cont când lucrați cu diacritice și anume encoding-ul scriptului, encoding-ul câmpurilor din baza de date, encoding-ul documentului html și tipul de encoding prin care se transmit datele de la script la baza de date și de la script la browser.
1) Tipul de caractere al scriptului php
Multe editoare nu salvează default scriptul ca UTF-8 ci encodat ca ANSI iar asta face ca diacriticele să nu fie interpretate corect nefăcând parte din standardul ansi. Pentru a rezolva problema deschideți scriptul php în editorul Notepad (cel cu care vine windowsul) și dați Save AS. În fereastra care apare la această comandă jos o să vedeți 2 rânduri. În primul rând vă cere calea și numele sub care va fi salvat fișierul curent iar în al doilea rând vă cere să specificați tipul de encoding al fișierului. Selectați tipul UTF-8 și dați save. Problema rezolvată. Din acest moment scriptul poate să prelucreze diacriticele corect.
2) Tipul de encodare al câmpurilor din baza de date
În baza de date textele sunt salvate în anumite câmpuri din tabel. Acele câmpuri au de obicei setat tipul vachar, char, text sau ceva similar. Acest tip de date mai vine cu o setare ce se referă la encoding. În phpmyadmin dacă ne uităm la acel câmp o să vedem că default vine setat cu tipul utf8_swedish_ci iar nouă ne trebuie general (tipul general permite o gamă mai largă de caracere nu doar pe cele românești)
După ce am efectuat și această setare, în acel câmp se vor putea salva diacriticele în mod corect.
3) Transferul datelor dintre scriptul php și baza de date
Următorul pas care trebuie făcut este setarea modului în care vor fi trimise și primite informațiile din baza de date. Pentru asta există 2 opțiuni și anume:
Modul recomandat (funcționeaza de la php5 în sus)
mysql_connect(parametrii de conectare);
mysql_select_db(numele bazei de date);
mysql_set_charset('utf8'); // stabilim comunicarea cu serverul să se facă cu encoding-ul pentru setul de caractere utf8
Modul nerecomandat (funcționează de la php4 în sus dar pot apărea probleme în anumite situații)
mysql_connect(parametrii de conectare);
mysql_select_db(numele bazei de date);
mysql_query("set names 'utf8' ");
4) Transferul datelor dintre scriptul php și browser
Pentru a trimite datele la browser fără a fi alterate în timpul transferului trebuie să setăm un header prin care specificăm encoding-ul ca mai jos:
header("Content-type: text/html; charset=utf-8");
Desigur, precum se știe, toate headerele trebuie trimise primele la browser înaintea oricărui text, deci în scriptul php asta ar trebui să fie printre primele linii (înaintea codului html)
5) Afișarea textului cu diacritice în pagina html
Ultimul pas care mai trebuie făcut este setarea unui metatag în documentul html pentru a specifica browserului ca toate textele din acea pagină trebuie interpretate cu encoding-ul UTF8
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Cred că știți și voi că tagurile meta se pun în partea de sus a documentului între tagurile head (înainte de body)
Asta este tot, dacă efectuați toți pași de mai sus corect este imposibil să mai aveți probleme cu diacriticele. (bine în realitate totul e posibil, unele funcții php care prelucrează stringuri trebuie să le specificați tipul de encoding ca să funcționeze corect dar asta deja e altă discuție care nu își are locul aici)
- [EuropaCs] Zona Administrativa
- - Regulament
- - Anunturi
- - Esti nou? Prezinta-te!
- - Cerere DNS
- - Cerere Parteneriat
- - Propuneri forum
- - Recomandari
- - Evenimente
- - - Big Events
- - - Proiecte
- - - Concursuri
- - - Evenimente Externe
- - Zona Staff
- - - Reclamatii
- - - Absente/Retrageri Staff
- - - Adunare Staff
- - - Adunarea Designerilor
- - - Adunarea Detinatorilor
- - - Adunarea Managerilor
- - - Adunarea Moderatorilor
- - - Adunarea Mod. G.
- - - Adunarea Conducerii
- - - ePoints
- - - ePremium
- - - Productii
- - - Pareri Staff
- - Zona Cererilor
- - - Cerere Admin Server
- - - Cerere Moderator
- - - Cerere Manager Resurse
- - - Cerere Designer
- - - Cerere Moderator Global
- - - Cerere Schimbare Nume
- - - Cerere Adaugare Warn
- - - Cerere Scoatere Warn
- - - Cerere Adaugare Ban
- [EuropaCs] Tutoriale, Resurse, Suport
- - Tutorial si Resurse Counter Strike 1.6
- - - Tutoriale Counter Strike 1.6
- - - Tutoriale Mapping
- - - Resurse Counter Strike 1.6
- - - - Config-uri
- - - - Addons-uri
- - - - Pluginuri
- - - - Moduri
- - - - Kit-uri Cs
- - - - Servere gata facute
- - - - Harti
- - - - Server Creator
- - - - Skin-uri
- - - - Script-uri
- - - - Sunete
- - - - Programe Folositoare
- - - - Tatuaje
- - - - Anticheat
- - Tutoriale si Resurse Counter-Strike:Global Offensive
- - - Tutoriale Counter-Strike:Global Offenisve
- - - Resurse Counter-Strike:Global Offensive
- - - - Pluginuri
- - - - Harti
- - - - Script-uri
- - - - Programe Folositoare
- - - - Mod-uri
- - - - Addons-uri
- - - Arhiva Resurse
- - Suport Counter-Strike
- - - Cerere Addons-uri
- - - Cerere Pluginuri
- - - Cerere Config-uri (CFG)
- - - Cerere Motd-uri
- - - Cerere Tutoriale
- - - Probleme Servere
- - - Problema Pluginuri
- - - Problema Client (Joc)
- - - Diverse Probleme
- - Tutoriale si Resurse WEB
- - - Design si WebSite Review
- - - Index-uri ( Intro)
- - - Script-uri
- - - Script-uri Gratis
- - - Teme phpBB3
- - - Resurse Web
- - - Tutoriale HTML
- - - Tutoriale PHP
- - - Tutoriale JS
- - - Tutoriale CSS
- - - Tutoriale C / C++ / C#
- - Asistenta Counter-Strike | EuropaCs
- - - Anunturi
- - - Addons-uri Configurate de EuropaCs
- - - Pachete de Harti (Mape)
- - - Tutoriale Forum Originale
- - - Tutoriale Counter Strike Originale
- - - Pluginuri Recomandate
- [EuropaCs] Design 2D & 3D
- - Tutoriale si Resurse
- - - Tutoriale 2D & 3D
- - - Resurse
- - Creatii 2D & 3D
- - Cereri 2D & 3D
- - Provocari
- - Competitii
- - - Competitii EuropaCs
- - Cadouri
- - Diverse
- [EuropaCs] Cafenea
- - Jocuri
- - - Reviews Jocuri
- - - Giveaways
- - - Probleme si Intrebari
- - - Discutii
- - Zona IT
- - - Tutoriale IT
- - - Hardware
- - - Software
- - - Comunicatii
- - - - Android
- - - - SymByan
- - - - IOS
- - - Stiri IT
- - - Calculatorul Meu
- - Social
- - - Cultura generala
- - - Descoperiri
- - - Educatie
- - - Sport
- - - - Fotbal
- - - Auto/Moto
- - - Filme & Seriale
- - - - Filme
- - - - Seriale
- - Bazar
- - - Vanzari
- - - Cumparari
- - Probleme si Intrebari
- - Discutii
- - War2.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Inscrieri
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Lista de Demo si Poze
- - - Discutii
- - - Revizualizare
- - - Status
- - ZmX.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Zm2.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - [EuropaCs] Competitii si Turnee
- - - League of Legends
- - - - Anunturi
- - - - Provocari
- - - - Recrutare
- - - - Free to Win #11
- - - - Discutii
- - - Counter-Strike:Global Offensive
- - - - Anunturi
- - - - Provocari
- - - - Recrutare
- - - - Competitii CS:GO
- - - - Discutii
- - Pro.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Arena.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Cerere Marire Grad
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Status
- - ZmC.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Mix.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Staff Server
- - - Cereri Admin
- - - Cereri Unban
- - - Reclamatii
- - - Status
- - [EuropaCs] Legaturi
- - - Inregistreaza-te
- - - Grup Steam
- - - Clan GameTracker.Com
- - - Afilieri servere
- - Nume.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea serverului
- - - Cereri Admin/Slot/VIP
- - - Obligatii Admin/Slot/VIP
- - - Cereri Marire Grad
- - - Cereri Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista Ban-uri
- - - Cereri Ban
- - - Cereri Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare probleme
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Status
- - Nume2.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea serverului
- - - Cereri Admin/Slot/VIP
- - - Obligatii Admin/Slot/VIP
- - - Cereri Marire Grad
- - - Cereri Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista Ban-uri
- - - Cereri Ban
- - - Cereri Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare probleme
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Status
- - FuNNy.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea serverului
- - - Cerere Admin/Slot
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Furien.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Fury.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - CsMedias.EuropaCs.Ro
- - - Regulament
- - - Anunturi Generale
- - - Staff Only
- - - Cereri Accese
- - - - Cereri Admin
- - - - Cereri Slot
- - - - Cereri VIP
- - - Cerere Schimbare Nume Admin
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Discutii
- - - Arhiva Serverului
- - - Statistici GameTracker.Com
- - - Status
- - Respawn.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Factory.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Fatal.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cereri Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Cs.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Zm.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Servere Counter Strike 1.6
- - - Zm.EuropaCs.Ro
- - - - Regulament
- - - - Anunturi
- - - - Administrare Server
- - - - Conducerea serverului
- - - - Cereri Admin/Slot/VIP
- - - - Obligatii Admin/Slot/VIP
- - - - Cereri Marire Grad
- - - - Cereri Schimbare Nume Admin
- - - - Evenimente
- - - - Promovari & Sanctionari
- - - - Reclamatii
- - - - Lista Ban-uri
- - - - Cereri Ban
- - - - Cereri Unban
- - - - Absente & Retrageri
- - - - Propuneri & Sugestii
- - - - Raportare probleme
- - - - Discutii
- - - - Arhiva serverului
- - - - Statistici GameTracker.Com
- - - - Status
- [EuropaCs] Arhiva
- - Arhiva Publica
Cine este conectat
Utilizatori răsfoind acest forum: Niciun utilizator înregistrat și 1 vizitator