UTF8_romanian_ci

Întrebări legate de conectarea la baze de date MySQL prin intermediul PHP

Moderatori: Zamolxe, Moderatori

Poyo
Average Member
Mesaje: 97
Membru din: Dum Iun 08, 2008 11:19 am
Localitate: Rm. Valcea

UTF8_romanian_ci

Mesajde Poyo » Lun Apr 26, 2010 12:36 pm

Salut. Am folosit acest collation intr-un proiect. Insa nu stiu pe ce server MySQL va fi rulat acel proiect. Intrebarea mea este: de unde stiu ce versiuni includ acest collation si ce nu? Sau il au toate versiunile?

Eu folosesc EasyPHP si e inclus, dar ma gandesc ca poate in alte "distributii" ca WAMP nu se gaseste. Nu am timp sa verific pentru fiecare in parte.



Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Lun Apr 26, 2010 1:07 pm

nu tine de easy sau de wamp tine de versiunea serverului de mysql... si cum peste tot e 4 sau 5 ambele permit acel collation
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

Poyo
Average Member
Mesaje: 97
Membru din: Dum Iun 08, 2008 11:19 am
Localitate: Rm. Valcea

Mesajde Poyo » Lun Apr 26, 2010 3:34 pm

Ok, mersi. Inca o nelamurire. Am vazut ca accepta ș si ț cu virgula sub, accepta si cu sedila?

Edit: Da, suporta.

Avatar utilizator
smileybos
Average Member
Mesaje: 96
Membru din: Mie Aug 25, 2004 11:01 pm

Mesajde smileybos » Mar Iul 27, 2010 5:01 pm

Am o problema legata tot de acest subiect.
Atunci cand introduc un text in baza de date ce contine si diacriticile "â" sau "î", inainte de una din aceste doua diacritice nu mai inregistreaza nimic.
De exemplu aleg sa introduc: "Atunci când am ales acea varianta astfel încat sa [...]" - imi inregistreaza doar: "Atunci c"

Orice alte diacritice sunt acceptate mai putin astea doua.
Baza de date, tabelele, campurile, <meta-ul cu charset=UTF-8, absolut toate sunt setate utf8_romanian_ci.

Ce pot face? De ce se intampla asta?

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Mar Iul 27, 2010 5:55 pm

dupa conectarea la baza de date si selectarea bazei de date pune si linia asta

mysql_set_charset('utf8');

si ar trebui sa iti mearga ok introducerea si preluarea diacriticelor. (vezi in manualul php ce face si la ce e buna)
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

Avatar utilizator
smileybos
Average Member
Mesaje: 96
Membru din: Mie Aug 25, 2004 11:01 pm

Mesajde smileybos » Lun Aug 16, 2010 3:24 pm

Am o problema similara. Stiu ca sunt foarte multe topicuri cu probleme cu utf8, stiu topicul special facut de birkoff, dar nimic nu mi-a raspuns pana acum la problema.

In loc de ş imi apare º, in loc de ţ imi apare þ, etc.

Mentionez ca:
- toate paginile .php sunt utf-8 (encoding)
- <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> este pus
- absolut toata baza de date este utf-8_romanian_ci (baza de date, tabele, campuri)
- in config, dupa mysql_select_db() am urmatoarele:

Cod: Selectaţi tot

mysql_query('SET NAMES utf8') or die(mysql_error());
 mysql_query('SET CHARACTER SET utf8') or die(mysql_error());
 mysql_query('SET COLLATION_CONNECTION="utf8_romanian_ci"') or die(mysql_error());
 mysql_set_charset('utf8');


Ce sa mai incerc? Nu vrea deloc..

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Lun Aug 16, 2010 4:47 pm

ok pai hai sa le luam pe rand...

1. poti testa in consola mysql?
daca da, deschide consola si fa un query vezi cum apar rezultatele returnate
daca sunt cu diacritice inseamna ca problema nu e de la sql ci de la php/html

2. daca nu poti testa in consola, poti testa folosind mysql query browser? sau o aplicatie similara? (exclus phpmyadmin)
la fel daca merge in acea aplicatie si apar ok, atunci nu e de la sql

3. daca la puntul 1 sau 2 apar caractere ciudate, atunci in bd sunt salvate ca atare si trebuie refacuta baza de date si salvate datele cum trebuie (nu s-au salvat corect)

4. daca pana aici e ok, trecem mai departe, facem un script simplu php in care ne conectam la bd facem cererea preluam datele si le afisam in browser asa cum am specificat in topicul ala de diacritice...
daca in script totul e in regula atunci iei la puricat scripturile tale si vezi care e diferenta dintre interogarile din scriptul de test fata de ce ai tu pe site...

5. in ultima instanta vezi in phpmyadmin cum apar, daca apar ciudat e posibil ca asa sa fi fost ele salvate in bd si atunci ar trebui refacuta bd...
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

Avatar utilizator
smileybos
Average Member
Mesaje: 96
Membru din: Mie Aug 25, 2004 11:01 pm

Mesajde smileybos » Lun Aug 16, 2010 8:33 pm

In phpmyadmin apare asa:

Cod: Selectaţi tot

Dup&atilde; o rela&thorn;ie de un an de zile, care p&atilde;rea se se &ordm;i oficializeze, Vali B&atilde;rbulescu &ordm;i modelul Delia Tudose, pe care o ceruse de nevast&atilde; de Revelion, la Berlin.


Iar pe site:

Cod: Selectaţi tot

Dupã o relaþie de un an de zile, care pãrea se se ºi oficializeze, Vali Bãrbulescu ºi modelul Delia Tudose, pe care o ceruse de nevastã de Revelion, la Berlin.


Nu cred ca pot testa pe consola mysql... (btw, n-am mai testat niciodata si nu prea cunosc cum se procedeaza; banuiesc ca nu pot pt ca sunt pe un host free si n-am acces direct la serverul mysql...

Am mai incercat sa introduc datele (textul cu diacritice) in baza de date prin htmlspecialchars($text, ENT_QUOTES, "UTF-8") dar nu mi-a intrat nimic in baza de date, ca si cum n-as fi scris nimic. In schimb merge cu htmlentities().
Ar trebui sa folosesc vreo metoda in genul htmlentities ca sa facilitez afisarea cu diacritice?

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Mar Aug 17, 2010 3:11 am

din ce vad la tine in phpmyadmin sursa textului e in format html (adica cu diacriticele convertite in elemente html)

deci probabil daia nu le vezi ok ca nu sunt convertite cum trebuie... (ț de exemplu)
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

ThePhantom
Average Member
Mesaje: 78
Membru din: Lun Mai 28, 2007 12:19 pm

Mesajde ThePhantom » Mar Aug 17, 2010 3:20 am

incearca utf8_general_ci ( parca asa se numeste )

Avatar utilizator
smileybos
Average Member
Mesaje: 96
Membru din: Mie Aug 25, 2004 11:01 pm

Mesajde smileybos » Mar Aug 17, 2010 12:21 pm

Doar cu ț, ş si literele lor mari, deci 4 caractere.
Cum as putea sa le convertesc cum trebuie? Ce ar trebui sa folosesc?

Incerc acum cu utf-8_general_ci

Avatar utilizator
smileybos
Average Member
Mesaje: 96
Membru din: Mie Aug 25, 2004 11:01 pm

Mesajde smileybos » Mar Aug 17, 2010 2:13 pm

Am incercat si cu utf8_general_ci. Nu merge, la fel imi afiseaza.

Cum ar trebui sa le convertesc?


Înapoi la “MySQL”

Cine este conectat

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