MySQL si PHP probleme cu encodarea UTF-8?
Zilele trecute in timp ce lucram la un dictionar roman-rus, mi-a dat bataie de cap charset-ul. Dupa lungi seri de googleala am gasit solutia la problema mea.
Sa va explic cum statea treaba. Aveam totul encodat in UFT-8:
1. pagina html avea in zona head structura
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
2. Pagina de php(stuructura de mai jos trebuie adaugata sus de tot):
<?php header("Content-type: text/html; charset=utf-8");?> |
3.Pagina era si ea encodata in UTF-8
Daca pagina are continut foloseste Convert to Utf-8.
Eu folosesc UTF-8 without BOM pentru ca apare o problema destul de enervanta. In momentul in care incluzi pe aceeasi pagina fisiere cu encodari diferite(EX Ansi si UTF-8) se mai introduce un rand gol(un fel de <br/> ) in fata fisierului cu UTF-8 simplu
4 In mysql am setat urmatoarea structura:CREATE DATABASE DEFAULT CHARSET utf8 COLLATE utf8_bin;
pentru a vedea encodarea bazei,tabelului tastati:show create database ;
show create table;
sau daca aveti baza de date deja creata si are o alta encodare puteti folosi.ALTER DATABASE CHARACTER SET utf8;