Afisare data cu diacritice in limba romana

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
ionatan
Mesaje:94

Afisare data cu diacritice in limba romana

Salut, am tot cautat pe site si nu am gasit o rezolvare
am o problema cu afisarea datei in limba romana:
Imi apar chestii de genul: Marþi, 04 Octombrie 2008, in loc de Marţi, 04 Octombrie 2008. sau marÅ£i, sau duminicÄ
am inteles ca s-ar putea sa fie de la encoding-ul iso (charset=iso-8859-1), probabil ca un UTF-8 ar rezolva problema... dar chiar daca setez tot degeaba
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/

MarPlo Mesaje:4343
Salut
Cel mai probabil e de la encoding, care trebuie setat UTF-8, atat in codul php, cu:

Cod: Selectaţi tot

header('Content-type: text/html; charset=utf-8');
- cat si in html cu:

Cod: Selectaţi tot

<meta charset="utf-8" />
Vezi daca e de folos raspunsul de la pagina:
php-mysql-xml/afisare-caractere-diacrit ... -t473.html

ionatan Mesaje:94
tot nu reusesc, am asa:

Cod: Selectaţi tot

$locale = array('ro_RO.utf-8', 'ro', 'ro_RO');
setlocale(LC_TIME, $locale);
$data_adaugarii = $row['data_eveniment'];
$date_adaugarii_string = utf8_encode(strftime('%A, %d %B %Y  ', strtotime($data_adaugarii)));

echo $date_adaugarii_string; // marţi, 17 ianuarie 2017
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/

MarPlo Mesaje:4343
Incearca varianta din acest cod, e sigura si usor personalizabila:

Cod: Selectaţi tot

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

$zile =['Duminică','Luni','Marți','Miercuri','Joi','Vineri','Sâmbătă'];
$luni =['','Ianuarie','Februarie','Martie','Aprilie','Mai','Iunie','Iulie','August','Septembrie','Octombrie','Noiembrie','Decembrie'];

$data_time = strtotime($row['data_eveniment']);
$data_zi = $zile[date('w',$data_time)];
$data_zin = date('j',$data_time);
$data_luna = $luni[date('n',$data_time)];
$data_an = date('Y',$data_time);
$data_string ="$data_zi, $data_zin $data_luna $data_an";

echo $data_string; // Marți, 24 Ianuarie 2017

ionatan Mesaje:94
Ce simplu a fost..... am uitat de varianta asta.... si cat m-am chinuit.... multumesc mult
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/

Subiecte similare