Jump to content
php.lv forumi

MySQL datubāzē ķeburi


Kracker

Recommended Posts

Sveiki! Griežos pie Jums ar problēmu tādu, ka tiklīdz ievieto MySQL datubāzē ierakstu ar garumzīmēm iekš datubāzes tabulas rādās kautkādi ķeburi, tabulas ieraksta piemērs: " UzsÄkot darbÄ«bu jau sniedz iespÄ“ju ". Netieku skaidrībā, kas varētu būt .php faila kodējums - utf-8 without BOM, iekš tabulas lauku COLLATION - utf8_general_ci un MySQL connection collation utf8_general_ci.

 

Vai es kautkādā veidā varu atbrīvoties no šiem ķeburiem "UzsÄkot darbÄ«bu jau sniedz iespÄ“ju" ?

 

Paldies, jau iepriekš!

Link to comment
Share on other sites

nesen esmu sācis apgūt MySQL+PHP web izstrādes priekus. diemžēl esmu sastapies ar problēmu, kuru nevaru atrisināt ar google starpniecību.

 

tātad, problēma ar latviešu valodas tekstu ievadi MySQL datubāzes tabulas laukā. Neta resursos visur latviešiem problēma ar ķeburu atainošanu, kas parasti atrisinās visur norādot UTF-8 kodējumu. Manā gadījumā teksts ar garumzīmēm un mīkstinājuma zīmēm datubāzē VISPĀR NEUZRĀDĀS. Ja insertoju tekstu latviski, tad tabulas attiecīgā rinda paliek tukša. UTF-8 protams visur ir norādīts.

 

SOLUTION?...

Link to comment
Share on other sites

tabulu veidoju ar šādu sintaksi:

 

 

$sql = 'CREATE TABLE joke (

id int not null auto_increment primary key,

joketext VARCHAR(999) character set utf8, //un šito laikam nemaz nav jānorāda, ja beigās ir default charset...

jokedate DATE NOT NULL

) DEFAULT CHARACTER SET utf8';

 

problēma nav iekš PHP skripta. tikpat labi es varētu izveidot tabulu arī caur konsoli un tāpat arī ievadīt datus tai tabulā. vienalga man latviešu burti attēlojas kā tukšumi. tas nozīmē, ka problēma ir kautkur MySQL pusē.

 

lūk ko es redzu konsolē:

 

 

mysql> select * from joke4;

+----+----------------+------------+

| id | joketext | jokedate |

+----+----------------+------------+

| 1 | joks ar garumz | 0000-00-00 |

| 2 | joks ar garumz | 0000-00-00 |

| 3 | joks ar garumz | 0000-00-00 |

| 4 | | 0000-00-00 |

+----+----------------+------------+

4 rows in set (0.00 sec)

 

4tais ieraksts ir "īķēņū". Iepriekšējie bija domāti kā "joks ar garumzīmēm"

Link to comment
Share on other sites

Mēģini:

$sql = 'CREATE TABLE joke (
id int not null auto_increment primary key,
joketext VARCHAR(999) collate utf8_latvian_ci, //un šito laikam nemaz nav jānorāda, ja beigās ir default charset...
jokedate DATE NOT NULL
) DEFAULT CHARACTER=utf8 COLLATE=utf8_latvian_ci';

 

Iesaku veidot tabulas ar kādu rīku, piemēram, phpmyadmin..

Edited by briedis
Link to comment
Share on other sites

haha, tkko pats konstatēju kur problēma. rakstu skriptus caur notepad++. un nebiju ievērojis, ka encoding stāv uz ANSI. uzliku UTF-8 without BOM un beidzot pievienojās tabulai teksts ar garumzīmēm.

 

tikai paliek jautājums, kāpēc caur konsoli pievienojot ierakstus tabulai garumzīmes vienalga neuzrāda. tas protams, nav tik svarīgi, jo visu jau izdarīs PHP skripti, bet tomēr...

Edited by Edupuiks
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...