Topic: ir man problemos su koduote...

Puslapiuose su "windows-1257" nerodo tinkamai įrašų iš duombazės, kurios koduotė "utf8". Viskas kaip ir logiška. Bėda ta, kad negaliu paverst duombazės kodavimo į "cp-1257_lithuanian_ci". Gaunu klaidą #1115 - neatpažįsta tokios koduotės (nors PHPMyAdmin bendrame sąraše ją rodo). Labai nesinori daryt atvirkščiai - visos svetainės koduotę keist į "utf8", nes bijau, kad atsiras kokių bėdų vėliau - veik visos lietuviškos svetainės naudoja 1257, įskaitant ir šį forumą :)

Kas dabar daryt?

Re: ir man problemos su koduote...

offtopic: bac. šitas forumas naudoja windows-1257?! Ir ką galvoja administratoriai... :P
O tau vis vien siūlyčiau keisti svetainę į utf8 :))

Living in the zirgas galvas country.
Mano blog'as

Re: ir man problemos su koduote...

CinQ: Pakeisti lentelės/stulpelio koduotę ir rikiavimus galima su ALTER TABLE ... CONVERT TO ... komanda. Tavo atveju reikia suvienodinti arba į utf8 arba į windows-1257. Rekomenduoju viską keisti į utf8_lithuanian_* pagal poreikius. UTF8 yra ta koduotė, kuri naudojama vis plačiau ir plačiau ir su ja ateity bus tikrai mažiau problemų negu su kitom.

foobar: šitas forumas kol kas pabus windows-1257 koduotėje, kol atsiras laiko pataisyti visą skriptą, kad veiktu su utf8 ir kad būtų lengva atlikti atnaujinimus.

Re: ir man problemos su koduote...

Labai ačiū už patarimus.

Taip ir padariau - t.y. visus tinklapius šiaip ne taip paverčiau į utf8. Na ir, žinoma pas mane dabar niekas nebeveikia. Iš pradžių galvojau, kad funkcijas užkliudžiau, bet pasirodo yra visai kitas dalykas - išsaugant bet kokį tekstą utf8 formatu, redaktoriai (UltraEdit ir tas pats Windows Notepad) failo pradžioje padeda kažkokių "baronkų", kurių šiaip redaguojant failą nesimato, bet jos perduodamos iš php, todėl nebeveikia headeriai, cookies ir t.t. (headers already sent). Taip neatsitinka išsaugant win1267. Nelabai žinau, kaip tas nesąmones iš pradžios nutrint. Jos atrodo maždaug taip:

 

Po to jau seka normalus kodas.

Re: ir man problemos su koduote...

Taip, čia yra tam tikrų editorių bėda.
Daugiau informacijos apie juos: http://unicode.org/unicode/faq/utf_bom.html

O bendrai reiketų tiesiog pasiimti kokį nors reaktorių, kuris tuos simbolius rodo ir leidžia ištrinti. (pvz.: PHP Designer 2006).

Re: ir man problemos su koduote...

Kuo toliau į mišką... :)

Su PHP Designer iš tikrųjų pavyko nutrinti tuos įžanginius žymėjimus, bet po to jau nė viena naršyklė neberodo lietuviškų raidžių (pačiame html), nors ir charset nurodytas utf8, ir naršyklėse koduotė (automatiškai) parenkama gerai... žodžiu gal aš pabandysiu duombazę į cp1257 paverst...

Re: ir man problemos su koduote...

Gal netyčia nėra nurodyta jungties su duombaze koduotė? (SET NAMES UTF8)

Re: ir man problemos su koduote...

CinQ wrote:

Labai ačiū už patarimus.

Taip ir padariau - t.y. visus tinklapius šiaip ne taip paverčiau į utf8. Na ir, žinoma pas mane dabar niekas nebeveikia. Iš pradžių galvojau, kad funkcijas užkliudžiau, bet pasirodo yra visai kitas dalykas - išsaugant bet kokį tekstą utf8 formatu, redaktoriai (UltraEdit ir tas pats Windows Notepad) failo pradžioje padeda kažkokių "baronkų", kurių šiaip redaguojant failą nesimato, bet jos perduodamos iš php, todėl nebeveikia headeriai, cookies ir t.t. (headers already sent). Taip neatsitinka išsaugant win1267. Nelabai žinau, kaip tas nesąmones iš pradžios nutrint. Jos atrodo maždaug taip:

 

Po to jau seka normalus kodas.

dėl ultraedit galiu pasakyti sprendimą: jis įrašo UTF BOM headerį, kurio browseriai nesuvalgo. Sprendimas: savinti viską su UTF8 without BOM, paprasčiausia tai daryti su F12.

Living in the zirgas galvas country.
Mano blog'as

Re: ir man problemos su koduote...

imho vienareikšmiškai reiktų pereit ant unikodo, vien todėl kad vienam saite galima bus rašyti skirtingomis kalbomis nesirūpinant dėl koduotės... (bent jau forumuose tai pakankamai aktualu) ir reiktų programint nuo pat pradžių turint omeny kad viskas bus daroma unikodu... na čia tik mano nuomonė :]

Re: ir man problemos su koduote...

Taip, todėl ir rekomentuoju orientuotis tik į UTF8.

Re: ir man problemos su koduote...

dreamwaver labai puikiai susitvarko su tom koduotem ir neklausineja kokia koduote saugot, jei html headeryje yrasai utf-8 tai ir saugo taip :)

SELECT * FROM users WHERE gender = 'female' AND size > 'enough' AND leftsize = rightsize AND age >= 18 AND age < 30 LIMIT 1

Re: ir man problemos su koduote...

Labai ačiū visiems. Padariau viską su UTF-8. Nežinojau, kas tie BOM, tai ir striginėjau. Dabar viskas gerai :)