UTF-8 şi siteurile web

Siteul tău este într-o limbă, alta decât limba engleză? Siteul tău conţine caractere care nu se află în alfabetul limbii engleze? Atunci sigur ai nevoie ca siteul tău să accepte codare UTF-8. Desigur, există mai multe stardarde (ISO 8859-1, ISO 8859-2 etc), dar UTF-8 cuprinde toate caracterele de care ai nevoie.

  1. UTF-8 şi HTML – Pentru a adăuga caractere UTF-8 în paginile statice HTML, deschide aceste fişiere cu un editor de text(Notepad++, Notepad2) şi modifică codarea în UTF-8;
    • Notepad++ : Meniul de Sus -> Encoding -> Encode in UTF-8
    • Notepad2 : Meniul de Sus -> File -> Encoding-> UTF-8

    Browserele trebuie să ştie ce tip de codare foloseşte siteul tău. Pentru acest lucru, adaugă linia următoare în secţiunea <head> a siteului tău.:

    <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>

  2. UTF-8 şi Javascript – Dacă ai nevoie să scrii propoziţii sau cuvinte care vor fi afişate folosind javascript şi trebuie păstrate în fişierele .js, trebuie să codezi fişierele cu UTF-8 (pasul 1).;
  3. UTF-8 şi PHP – Pentru a lucra cu şiruri de caractere UTF-8 în PHP, codează fişierele cu UTF-8 (pasul 1). De asemenea este necesară adăugarea următoarei linii în fişierele tale php

    <?php header(“Content-type: text/html; charset=utf-8″);?>

    Ai grijă să nu trimiti nici un caracter browserului înainte de a se executa această linie de cod. Trebuie să acorzi o atenţie suplimentară atunci când foloseşti funcţii cărora trebuie să le precizezi faptul că lucrezi cu şiruri de caractere UTF-8, cum ar fi  htmlentities şi htmlspecialchars.

    • Trebuie codate doar fişierele care conţin caractere UTF-8. Celelalte fişiere .php pot fi ori UTF-8 ori alt format.
  4. UTF-8 şi MySQL – Dacă ai nevoie să păstrezi şiruri de caractere UTF-8 în baza de date, trebuie să faci câteva modificări la câmpurile unde vor fi păstrate aceste şiruri de caractere.  Pentru câmpurile de tipul CHAR/VARCHAR/TEXT  (şi tipurile derivate din acestea), în mod normal MySQL setează Collation la  latin_swedish_ci .  Această codare nu poate păstra caractere UTF-8.  Deci trebuie sa modifici Collation în utf_general_ci.  Cu aceasta facută,  acum trebuie să setezi PHP’ul să comunice cu baza de date folosind formatul UTF-8. În fişierul .php în care se face conexiunea la baza de date adaugă aceste 2 linii imediat după apelarea funcţiei mysql_select_db.

    mysql_query(‘SET CHARACTER SET utf8′);
    mysql_query(‘SET SESSION collation_connection =”utf8_general_ci”‘);

    Astfel, codul tău ar trebui să arate aşa:

    $dbconnect = @mysql_connect($mysql['host'], $mysql['username'], $mysql['password'], true) or die(‘Unable to connect to server’);
    @mysql_select_db($mysql['db'], $dbconnect) or die(‘Could not find the database’);
    mysql_query(‘SET CHARACTER SET utf8′);
    mysql_query(‘SET SESSION collation_connection =”utf8_general_ci”‘);

English Version / Versiunea în limba Engleză: UTF-8 and websites

Subscribe to RSS Feed Follow me on Twitter!