Pagina 1 din 1

utf-8 in php

Scris: Sâm Iul 21, 2012
de steell
salut marplo.
Dupa ce sciu o pagina .php, atunci cand o salvez trebuie sa mai selectez si optiunea encoding pe utf-8 ?
Stiu ca asta se face doar la cele cu extensia .html .
Nu e suficient daca am in pagina, la <head> acest meta-tag?

Cod: Selectaţi tot

<META CONTENT="text/html; charset=UTF-8" http-equiv=Content-Type />

utf-8 in php

Scris: Dum Iul 22, 2012
de MarPlo
Salut
Daca folosesti UTF-8, e recomandat sa salvezi si acel fisier tot cu encoding UTF-8 (indiferent daca e .html, .php, .txt).
In plus, in script-ul PHP, inainte de afisarea datelor trebuie adaugat acest header():

Cod: Selectaţi tot

if(!headers_sent()) header('Content-type: text/html; charset=utf-8');

Re: utf-8 in php

Scris: Dum Iul 22, 2012
de steell
Am salvat pagina index.php cu optiunea utf-8 insa cand intru in ea imi arata
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\index.php:1) in C:\wamp\www\index.php on line 2
fisierul index este asa:

Cod: Selectaţi tot

<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ro">
<head>
<META CONTENT="text/html; charset=UTF-8" http-equiv=Content-Type />
si alte META...
</head>
<body>
...
</body>
</html>
Nu este nimic inainte de session_start nici macar un spatiu.
Si unde anume in pagina trebuie sa pun aceasta:?
if(!headers_sent()) header('Content-type: text/html; charset=utf-8');
Cand pagina era salvata in mod normal ANSI nu aparea acel avertisment.
Este vreo pagina despre headere in tutorialul de html sau php de pe site??ca nu stiu sa le folosesc?

utf-8 in php

Scris: Dum Iul 22, 2012
de MarPlo
Poate este spatiu inainte de <?php .
Daca nu, eroarea aceasta poate sa apara din cauza editorului de tex folosit pentru scriere in fisiere PHP.
Daca folosesti editor precum Dream Waver, sau direct pe host, pe cel din CPanel, acestea, daca nu sunt configurate corect, adauga pe prima linie caractere invizibile, si astfel da eroarea specificata mai sus.
Recomand sa editezi fisierele cu un editor simplu de text, de exemplu Notepad++.
Daca folosesti Notepad++, seteaza la meniul Encoding sa fie: "Encode in UTF-8 without BOM".

Codul cu header() se adauga oriunde dupa session_start() si inainte de afisarea (sau trimiterea spre afisare, de exemplu cu "echo") vreunui text.
- Despre functia header() gasesti in manualul PHP, la adresa: http://www.php.net/manual/en/function.header.php .
O lista cu argumente /optiuni pt functia header() e la adresa: http://en.wikipedia.org/wiki/List_of_HTTP_headers .