Vai kāds lūdzu nevarētu paskaidrot, kas ir īsti UTF-8, kā arī, kur to izmanto, un vēl pie viena varētu arī paskaidrot, kur izmanto Ajax? Cik es pareizi noprotu tad UTF-8 ir saistīts ar datu bāzēm. Bet kādi plusi ir ja pāriet uz viņu. Cik esmu lāsījis, tad ar UTF-8 palīdzbu var izmanot Ajax fīčas. Tad man rodas jautājums, kas tad tās par fīčām, piemēram, ir?
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?
Kāds varētu paskaidrot šos divus terminus UTF-8 un Ajax?
Moderatori: janis.wd, Vecākie lietotāji
- normis_161
- E-žurnālists
- Atbildes: 436
- Pievienojies: 31 Mar 2007, 00:01
- Reputācija: 0
- foxsk8
- Moderators
- Atbildes: 5080
- Pievienojies: 22 Feb 2007, 12:33
- Reputācija: 0
- Atrodas: Liepāja, www.notepad.lv
Ar šādu problēmu saskārās arī notepad.lv. Sākumā viss stāvēja uz windows-1257. Izdomājām, ka vajadzētu pāriet uz UTF-8, lai varētu izmantot ajax iespējas. ÄŒarseta izvēlne ir jāveic pašā sākumā, jo vēlāka pāreja uz citu čārsetu var radīt zināmas problēmas. Piem notepad.lv gadījumā vecās foruma tēmas datubāzē stāv ar windows-1257 kodējumu, bet visas jaunās ar utf-8. Ja pārslēdzam ar browseri čārsetu, tad vecās tēmas redzam labi, bet jaunās ar ķeburiem, un atkal otrādi.
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:
http://www.dynamicdrive.com/dynamicinde ... bscontent/
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ā.
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:
http://www.dynamicdrive.com/dynamicinde ... bscontent/
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ā.
foxsk8> arī pāriet uz utf-8 nav nekas sarežģīts. Pats esmu darījis tā: iekš PhpMyAdmin eksportējam visu datu bāzi uz SQL, vēlams struktūru un datus atsevišķos failos.
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 <head> sadaļā
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
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.
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 <head> sadaļā
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
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.
- foxsk8
- Moderators
- Atbildes: 5080
- Pievienojies: 22 Feb 2007, 12:33
- Reputācija: 0
- Atrodas: Liepāja, www.notepad.lv
Tieši tā.
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.
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.