Jump to content
php.lv forumi

š,ž burti


zmtsz

Recommended Posts

  • 2 weeks later...

Diemžēll man arī kaut kā nesanāk atrisinat Š un Ž problēmu, kad gribu ievadīt datus ieksh mysql caur php. Charsets htmlā ir utf8, tabulas laukam ari ir utf8, SET NAMES 'utf8' arī ir.

 

SQLs ir pats vienkāršākais INSERT vai UPDATE, kļūdas paziņojumā met ārā, ka tas ko vēlos ievadīt ir pārāk garš priekš konkrētās kolonnas, mainīju pat uz ļoti garu VARCHAR, TEXT utt.

 

ar citiem mīkstinājumiem, piemēram, ļ, ņ, č, ž... un garumzīmēm ā, ū, ē utt problēmu nekādu.

 

Interesanti, vai man izdosies saņemt atbildi, kas ir nedaudz savādākā par "to pašu" :)

 

Protams, tā kā ir tikai divi burti kļudaini, tad varētu šos busrtus aizstāt ar citiem simboliem, kas ir vienīgais, ko man izdevās atrast kā risinājumu ar search. Neesmu vēl atmetis cerības uz videi draudzīģaku risinājumu. MySQL man ir 5.0.24.

Link to comment
Share on other sites

neaizmirti ka garie miikstie burti Ar UTF-8 reali ainjem vairaak vietas nekaa izskataas

teiskim ā --> skjiet ka bija 2 baiti utt...

ups pat liidz 8 baitiem...

taa kaa ...

iespejam ka tik tieshaam lauks ir paaraak iisss....

pamegjini vai raksta ieksx TEXT lauka , jaa jaa tad problema ir taa ko jau mineju (un varbuut noradiits nepareizss kolonaas charsets...)

Link to comment
Share on other sites

varbūt datubāzei defaultais encodings nav utf-8. Ja nomainot defaulto encodingu nepalīdz (dati jau sačakarēti?), tad vajag uztaisīt tabulu pa jaunu ar default utf8. Vēl jāskatās katrai tabulai un laukiem kāds encodings uzlicies.

Link to comment
Share on other sites

Tātad, datubāzē gribu ievadit vienu pašu burtu "š", Tabulas kollonai: varchar len ir 100 rāda: Data too long for column 'xxx' at row 1

tas pats notiek, ka datatype uzlieku text, nekas nemainās, tātad problēma nevar būt, ka trūkst vietas.

 

Collation kolonnai ir uzlikts: utf8_general_ci, mainiju ari uz utf8_unicode_ci - nekas nemainijas.

 

 

pašai tabulai charsets ir : DEFAULT CHARSET=utf8 - tā kā vajag, neko neesmu mainījis.

 

 

ko es esmu sačakarējis, netieku skaidrībā :(

Edited by 7924
Link to comment
Share on other sites

ievadit mēģinu caur formu <input type=text> un talak ar sql=INPUT INTO mana_tabula VALUES.....

 

tatad ar metodi GET ar linku man tas viens š burts tiek padots "%9A&" - un tas ir tas kas tabulai liekas bezgalīgi garš simbolu virknējums :)

Edited by 7924
Link to comment
Share on other sites

pamegjini uzlikt PHPAdminu.... un paskaties kas notiekaas....

tobish iebakstiit caur vinju, kaa arii ja ir iespejams pamegjini iebarot caur failu (*.sql) izmantojot consoli...

// ieraksti failaa 1 kveriju un padod DB caur consoli//

tad redzesi vai Db vispar ir pie vainas....

 

Edit: a kam tav dati no formas japadod izmanojot GET ??

izmanto POST un miers maajaas.....

+ parkonvere to skribuSkrabu atpakalj uz normaalu UTF-8 .... kaa arii izmanto mysqli_real_escape_string() ... jo var gadiities ka paraadaas kaads simbols ko Mysql vienkarshi normaali neuztver....

tobish netiek normali nobeikts pieprasiijums....

Edited by Grey_Wolf
Link to comment
Share on other sites

es izmantoju SQLyog un tur sql loga ierakstiju:

 

INSERT INTO mana_tabula VALUES (NULL, 0, 'š') un ši visu labi izdarīja, tabulā ierakstījia "š"

 

tagad pamēģināju INSERT INTO mana_tabula VALUES (NULL, 0, 'ā') tabulā ierakstījā "ā"

bet to pašu sql caur skriptu tabulā ierakstīja ā, bet nu no tabulas ārā arī velk kā vajag "ā"

 

jeb man tomēr vajag uzlikt to phpAdmin?

Link to comment
Share on other sites

jeb man tomēr vajag uzlikt to phpAdmin?

Tas PHP Admin ir tikai uz PHP balstiits SQL administresanas tuulis ;)

;)

Nu tad jau viss tev straada kur probleema?

Vaina tad ir tavaa skriptaa....

Edit : pirm padod to savu kveriju uz DB izvadi vinju uz ekrana un paskaties kas tev Reali tiek nosuutiits uz DB...

Edited by Grey_Wolf
Link to comment
Share on other sites

×
×
  • Create New...