recunoastere caractere sau inlocuire

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

dincu
Average Member
Mesaje: 123
Membru din: Sâm Ian 21, 2012 7:22 pm

recunoastere caractere sau inlocuire

Mesajde dincu » Mar Mar 06, 2012 3:46 pm

cum fac sa imi recunoasca caracterele sql-ul? sau cand introduce cineva un anunt sa inlocuiasca caracterele romanesti cu a, s, t.. multumesc!



hadyh
Average Member
Mesaje: 118
Membru din: Mar Noi 30, 2010 12:57 pm

Mesajde hadyh » Mar Mar 06, 2012 5:04 pm

1st of all : probabil ca tie ti se vad niste caractere speciale atunci cand afisezi, de aceea cea mai buna solutie pentru tine ar fi sa transformi coloana care contine textul html pentru anunturi cu :

Cod: Selectaţi tot

alter table table_name modify col_anunt varchar(cat ai tu maximum anunt) characterset latin2 collate latin2_bin;


acum ar trebui sa accepte caractere speciale.


2nd : daca vrei sa mergi pe ideea ta cu a inlocui atunci trebuie sa creezi functie care sa faca asta :

check this out : http://forums.mysql.com/read.php?103,26 ... msg-266035

dincu
Average Member
Mesaje: 123
Membru din: Sâm Ian 21, 2012 7:22 pm

Mesajde dincu » Mar Mar 06, 2012 6:23 pm

nu mi le accepta nici dupa ce am facut modificarea

„ă”, „Ă”, „î”, „Δ, „â”, „”, „ş”, „Ş”, „ţ” şi „Ţ”

=

â?�Ä?&aci rc;?�, â?�Ä?&aci rc;?�, â?�Ã&re g;â?�, â?�Ã�&a circ;?�, â?�Ã&ce nt;â?�, â?�Ã?&a circ;?�, â?�Å?&ac irc;?�, â?�Å�&ac irc;?�, â?�Å&pou nd;â?� Å?i â?�Å&cen t;â?�

Avatar utilizator
icsulescu
Average Member
Mesaje: 141
Membru din: Mie Iun 23, 2010 3:29 pm
Localitate: Brăila
Contact:

Mesajde icsulescu » Mar Mar 06, 2012 9:25 pm

dincu scrie:nu mi le accepta nici dupa ce am facut modificarea

„ă”, „Ă”, „î”, „Δ, „â”, „”, „ş”, „Ş”, „ţ” şi „Ţ”



Eu de obicei fac câmpurile de tip utf8_general_ci ca să accepte caracterele românești.
Mai trebuie să pui asta înainte de prima interogare la baza de date:

Cod: Selectaţi tot

mysql_query("SET NAMES 'utf8'");


și asigură-te că ai setat encoding-ul fișierelor UTF 8.
Apoi ar trebui să meargă.

dincu
Average Member
Mesaje: 123
Membru din: Sâm Ian 21, 2012 7:22 pm

Mesajde dincu » Mie Mar 07, 2012 8:44 pm

nu a mers nici asa, nu stiu ce sa zic o sa mai caut.

vreau sa fac ca la introducerea in textarea, sau in baza de date, nu stiu ce sa modific sa imi afiseze mai multe linii in descriere, nu stiu cum sa ma exprim. nu imi ia [ENTER] ca aici pe forum

exemplu:

text1

text2

text3

am gasit asta

preg_replace("/(\n|\r)/", "<br>", $string);

si

nl2br($string);

ambele vad ca fac acelasi lucru,

DAR

textarea mea este foarte micuta rows="8" cols="28" si cand trece pe urmatorul rand cred ca imi ia tot <br>. adica imi incap cam 5 cuvinte pe rand si daca pun comenzile de mai sus nu imi pune doar cand apas enter, mi le aranjeaza exact cum le-am scris in textarea.

quadmachine
Senior Member
Mesaje: 807
Membru din: Sâm Iul 10, 2010 4:58 pm
Localitate: Ploiesti
Contact:

Mesajde quadmachine » Mie Mar 07, 2012 9:32 pm

Ai putea seta tip "utf8mb4_romanian_ci".:)

Cod: Selectaţi tot

Nu confundati femeia de serviciu cu profesoara de Limba si Literatura Romana.

dincu
Average Member
Mesaje: 123
Membru din: Sâm Ian 21, 2012 7:22 pm

Mesajde dincu » Mie Mar 07, 2012 9:53 pm

nu am 'utf8mb4_romanian_ci' eu am simplu 'utf8_romanian_ci' si am incercat si varianta asta, dar nu merge

textarea am rezolvat-o

quadmachine
Senior Member
Mesaje: 807
Membru din: Sâm Iul 10, 2010 4:58 pm
Localitate: Ploiesti
Contact:

Mesajde quadmachine » Mie Mar 07, 2012 10:00 pm

Cod: Selectaţi tot

mysql_query("SET NAMES latin2");
mysql_query("SET CHARACTER SET latin2");
mysql_query("SET COLLATION_CONNECTION='latin2_general_ci'");


Iar in pagina.

Cod: Selectaţi tot

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> 

Cod: Selectaţi tot

Nu confundati femeia de serviciu cu profesoara de Limba si Literatura Romana.

dincu
Average Member
Mesaje: 123
Membru din: Sâm Ian 21, 2012 7:22 pm

Mesajde dincu » Joi Mar 08, 2012 11:51 am

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />


daca introduc caractere romanesti in pagina si o uploadez mi le citeste,
cu baza de date nu ma descurc, am incercat cam toate variantele

mysql_query("SET NAMES latin2");
mysql_query("SET CHARACTER SET latin2");
mysql_query("SET COLLATION_CONNECTION='latin2_general_ci'");
am pus si asta inainte de select

am pus si mysql_query("SET NAMES latin2"); si mysql_query("SET NAMES utf8"); in fisierul config.php tot nu merge..

OFFTOPIC: vreun site cu banner-exchange imi puteti recomanda? ca ce am gasit pe google si am trimis mail nu mi-au raspuns.. multumesc!


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 50 vizitatori