Jump to content
php.lv forumi

mysql un mīkstinājuma zīmes


Austrys

Recommended Posts

Pēc datu ievadīšanas datubāzē (t.i. reģistrāciju), datu bāze dažus "mīkstos" latviešu burtus pārvērš par ''?''.

piem. vaidzēja būt: Ģirts Ķestūžiņš, bet datubāzē tiek ievietots: ?irts ?est?ži?š

 

datubāzei ir uzlikts utf8_unicode kodējums... vaina ir datubāzē vai php kodā?

 

vārda un uzvārda pārbaude:

 

if (!ereg("[A-Za-z]", $registername)) {

$registermessage="nepareizi simboli vārdā";

}

else {

if (!ereg("[A-Za-z]", $registersurname)) {

$registermessage="nepareizi simboli uzvārdā";

}

datu ievadīšana db:

else {

mysql_query("insert into players (number, registerdate, registeraddress, nickname, passcode, email, name, surname, skypename) values ('$registernumber', '$registerdate', '$registeraddress', '$registernickname', '$registerpasscode', '$registeremail', '$registername', '$registersurname', '$registerskypename')");

header("location: ?action=login&nickname=$registernickname&passcode=$registerpasscode");

}

}

Edited by Austrys
Link to comment
Share on other sites

pirms inserta ir query = "SET NAMES utf8"?

Edited by cucumber
Link to comment
Share on other sites

Izmanto ari kad paradit datus gribi. Un page charsetam ari utf-8 jabut.

Link to comment
Share on other sites

charset ir uzlikts meta tagā, windows-1257, ja liek utf-8 tad visas garumzīmes lapā pārvēršas par ?... uzliku set names utf-8, datubazē tabulai collation uzliku utf8_latvian_ci, un tik un tā, pēc datubāzē no reģistrācijas formas, dažas mīkstinājuma zīmes tabulā ievada kā ? ... Ž, š, pārējās nestrādā...

Edited by Austrys
Link to comment
Share on other sites

uzliku set names utf-8 pec db konnekcijas, lapaa stāv windows-1257 charsets meta tegā, tagad viss itkā strādā, db tiek saglabāts utf-8 kodējumā, visas garumzīmes tiek pārvērstas par ķeburiņiem, kuri pēc tam izvadot tos lapā ar windows-1257 pārvērš tos atpakaļ mīkstinājuma, un garumzīmēs.

Edited by Austrys
Link to comment
Share on other sites

Austrys --> datiem lapa un datiem Db ir jaabuut VIENADAA FORMATAA , tapat jabuut atbilstosham kodejumam DB tabulaas....

iesaku Visur izmantot UTF-8

3 punkti kas jaievero

1). Lapas kodejumam jabuut UTF-8 (ieskaitot arii datus)

2. DB tabulas kodejums UTF-8

3. vienu reizi pie konekcijas SET NAMES UTF-8

--------

P.S. kada ir Mysql versija?

Link to comment
Share on other sites

Mjā.

 

Austrys nu tad vismaz iesaku tev pārlikt db visām tabulām enkodingus un charsetus (godīgi sakot vēl neesmu sapratis atšķirību starp šiem terminiem) uz windows1257 (cp1257).

 

Ok, paldies, tagad gan dati tabulās, gan viss pārējais strādā... bet kā taisīt ja lapu taisa vairākās valodās?

Link to comment
Share on other sites

Visu pārveidot uz utf8. Un tabulām netiek enkodingus un charsetus nomainīt, bet reāli arī saturu pārkonvertēt. Vienkāršakais man šķiet bija izeksportēt visu. Ar kādu editoru pārseivot uz utf-8. Un tad importēt atpakaļ.

Link to comment
Share on other sites

×
×
  • Create New...