Sākumlapa › Forumi › Mājas lapu izstrāde › Web veidošana un problēmas › Kāds varētu paskaidrot šos divus terminus UTF-8 un Ajax?
p.s. Un būtu labi, ja kāds varētu paskaidrot kā ir iespējams, ka lapas apmeklētājs var pāriet uz windows-1257, ja tajā brīdī izmanto UTF-8?
Kas ir UTF-8:
UTF-8 ir valodas kodējums, čārsets. UTF-8 ir unikāls ar to, ka atbalsta multivalodas. Īpaši neesmu iedziļinājies sīkumos, bet tiešām ieteiktu lietot UTF-8 kā galveno lapas kodējumu.
Ajax:
Ajax ir advancētāks javascripts, kas spēj veikt pieprasījumus no servera. Piem ajax fīča:
Forumā jaunākie komentāri atjaunojās nepārlādējot pašu lapu.
Ielādēt papildus informāciju, kāda blokā, nepārlādējot lapu. Mazs ajax tabs piemērs ir atrodams šeit:
Vārdu sakot, ar ajax palīdzību tu uzlabo lapas engine, rezultātā lapa veidojas dinamiska un dzīva. Nav lietotājiem jāveic kaitinošais F5, lai dabotu jaunāko info. Ajax var teikt veic lapas auto update. Nu tas ir tikai tāds mazs ievads.
Ieteiktu izmantot to ajax tabs. Pateišām laba lieta. Tagad visos savos projektos to meiģinu integrēt lapas dzinējā.
Tad struktūras failos ar searchu sameklējam CHARSET=cp1257 COLLATE=cp1257_general_ci utt – visu, kas attiecas uz charsetiem un dzēšam nost.
Izveidojam jaunu datu bāzi, un “Darbības” sadaļā norādām Izkārtojumi –> utf8_latvian_ci. Pēc tam importējam struktūru un datus. Tad vajadzētu būt visam kārtībā. Nezinu gan, kā ir tad, ja vienā datu bāzē ir sajaukts cp1275 un utf8.
Kas attiecas uz utf-8, tad, lai viss darbotos, HTMLā ieliekam
sadaļāvai arī iekš PHP –
header(‘Content-type: text/html; charset=utf-8’);
Nepieciešams arī PHP pie DB atvēršanas, tūlīt aiz mysql_connect(…); mysql_select_db(..); pievienot 2 rindiņas
mysql_query(“SET NAMES utf8”);
mysql_query(“SET CHARACTER SET utf8”);
Kas attiecas uz publisko skriptu latviskošanu, tad tas parasti nav izdarīts. Tad ir nepieciešams atrast īsto failu un pievienot šīs 2 rindiņas.
Un visbeidzot, visus failus, kuros rakstām latviešu garumzīmes, ir nepieciešams saglabāt ar encodingu UTF-8 without BOM. Es to daru ar Notepad++. Ja failus saglabās parastajā UTF-8 ar BOM, tad var rasties problēmas ar headeru nosūtīšanu, jo jebkurš fails tad sākas ar BOM simboliem, kuri tiek nosūtīti uz browseri pirms vispār PHP failu sāk izpildīt, līdz ar to headeri jau arī ir nosūtīti un otrreiz sūtīt vairs nevar.
Sākumā, kad pārgājām pie nano.lv arī bija problēmas ar mysql.
Tad nu izlīdzējos tieši šādā veidā.
mysql_query(“SET NAMES utf8”);
mysql_query(“SET CHARACTER SET utf8”);
Kas tiecās, ka dati iekš mysql ir ar atšķirīgiem encodingiem, tad problēmas ir garantētas. Cik nu toreiz prasīju, tad visi plātīja rokas. Svarīgākās tēmas toreiz pārlaboju.
Preses relīzes