Eski brauzerlar uchun HTML yozish kodlash. HTML kodlash. Veb-sahifani saqlash uchun nimani kodlash kerak. HTML-sahifani noto'g'ri kodlash

Veb-sayt bilan bog'liq eng keng tarqalgan muammolardan biri bu uning kodlashidir. Va shunga qaramay, ko'pchilik Veb-ustalar brauzer kodlashni o'zi tanlaydi degan bahsni davom eting. Darhaqiqat, u kodlashni o'zi tanlaydi, lekin u har doim ham to'g'ri bajarolmaydi. Bu eng keng tarqalgan kodlash xatosi: kodlashdagi sayt, masalan UTF-8va brauzer doimiy ravishda tanlaydi windows-1251... Bu yerda htaccess fayli orqali qanday qilib qattiq kodlash kerak, Men ushbu kichik maqolada tushuntiraman.

Uchun fayllarni htaccess-da kodlashni o'rnating faqat bitta satrni yozing:

AddDefaultCharset UTF-8

Agar kerak bo'lsa windows-1251keyin shunday:

AddDefaultCharset WINDOWS-1251

Faqat bitta satr va endi brauzer, uning afzalliklaridan qat'i nazar, belgilangan kodlashni tanlaydi. Darhol aytamanki, bu usul haqiqatan ham kuchli. Siz shuni tushunishingiz kerakki, brauzer saytingizning kodlashini to'g'ri tanimaydi (hattoki meta yorlig'iga e'tibor bermaslik ham kerak) ContentType"), unda buning sabablari bor, shuning uchun diqqat bilan tekshiring: hamma joyda hamma narsa yaxshi ko'rsatiladi.

Umid qilamanki, ushbu maqola yordamida sizga kodlash bilan bog'liq muammoni hal qilishga yordam berdim. Va keyingi maqolada men bilan bog'liq muammo haqida gaplashaman ma'lumotlar bazasini kodlash... Bu, shuningdek, ko'pchilik hal qila olmaydigan juda keng tarqalgan muammo.

1. Bizda fayl bor: Myfile.html.
2. Uni Unicode kodlashda saqlash kerak -\u003e UTF-8. Yechim 1.
  1. Matn muharririda Myfile.html-ni ochish Daftar.
  2. Biz "Saqlash ..." -ni tanlaymiz.
  3. UTF-8 kodlashni tanlash.
  4. Biz tugmani bosamiz - Saqlash.

Qaror 2.
  1. Matn muharririda Myfile.html-ni oching Notepad ++ (hali ham PSPad muharriri mavjud)
  2. Menyu -\u003e Kodlash.
    Bu erda biz (Notepad ++ o'zini belgilaydi) biz ochgan faylning kodlashini ko'ramiz.
  3. Biz tanlaymiz BOM holda UTF-8 ga aylantiring (BOM - bayt buyurtma belgisi).
    (Kodiroaka "UTF-8 BOM holda" afzal va shunchaki "UTF-8" dan farq qiladi).
  4. Menyu -\u003e Fayl -\u003e Saqlash.

Brauzerlar tomonidan kodlashni aniqlash

Biz o'zimiz brauzerda ushbu HTML fayli uchun qanday kodlash o'rnatilganligini aytamiz.
Bu META yorlig'i yordamida amalga oshiriladi 1) Ushbu misol brauzerga yuklangan HTML fayli utf-8 kodlashda saqlanishi to'g'risida ko'rsatma beradi. Agar HTML fayli Windows-1251 kodlashida saqlangan bo'lsa, unda: 2) Muhim!
Fayllarni transkodlashda o'zgarishni unutmang META yorlig'idagi ko'rsatmalar haqiqiylariga.
Agar bitta kodlash META yorlig'ida ko'rsatilgan bo'lsa va fayl boshqa kodlashda saqlangan bo'lsa, u holda biz ekranda "gibberish" ni ko'ramiz.

3) Agar a kerakli kodlash META-yorlig'ida ko'rsatilgan, ammo sayt hali ham "gibberish" ni namoyish etadi, keyin siz xosting (veb-server) da sayt sozlamalarini tekshirishingiz kerak.
Odatda, hosting saytida sayt sozlamalarida ko'rsatilgan utf-8 kodlash mavjud.
Agar Windows-1251 kodlash xosting sozlamalarida ko'rsatilgan bo'lsa, u holda sozlamani utf-8 ga o'zgartirishingiz kerak.

Boshlang'ich duch keladigan eng keng tarqalgan muammolardan biri Vebmaster (va nafaqat yangi boshlanuvchilar), bu saytdagi kodlash bilan bog'liq muammolar... Hatto men doimo sayt yaratishda paydo bo'laman " abrakadabra"Ammo, xayriyatki, men bu muammoni qanday hal qilishni yaxshi bilaman, shuning uchun hammasini bir necha soniya ichida tartibga keltirdim. Va ushbu maqolada sizga tezroq o'rgatishga harakat qilaman. saytdagi kodlash bilan bog'liq muammolarni hal qilish.

Shunisi e'tiborga loyiqki, "gibberish" ning paydo bo'lishi bilan bog'liq barcha muammolar hujjat kodlash va brauzer tomonidan o'rnatilgan kodlash o'rtasidagi mos kelmaslik bilan bog'liq. Hujjat deylik windows-1251va brauzer biron sababga ko'ra oshkor bo'ladi UTF-8... Quyidagi sabablar ushbu kelishmovchilikning manbai bo'lishi mumkin.

Birinchi sabab

Noto'g'ri yozilgan meta teg kontent turi... Ehtiyot bo'ling, u doimo sizning hujjatingiz yozilgan kodlashni o'z ichiga olishi kerak.

Ikkinchi sabab

Meta teg siz xohlagan tarzda yozilganga o'xshaydi va brauzer siz xohlagan narsani namoyish etadi, ammo ba'zi sabablarga ko'ra kodlash bilan bog'liq muammo mavjud. Bu erda, shubhasiz, hujjatning o'zi mukammal kodlashda aybdor. Agar siz ishlasangiz Notepad ++, so'ngra o'ng pastki qismida joriy hujjatning kodlash nomi (masalan, ANSI). Agar siz meta tegini qo'ysangiz UTF-8va hujjatning o'zi yozilgan ANSIkeyin konvertatsiyasini bajaring UTF-8 (menyu orqali " Kodlash"va element" BOM holda UTF-8 ga aylantiring").

Uchinchi sabab

To'rtinchi sabab

Va nihoyat, so'nggi mashhur sabab ma'lumotlar bazasida kodlash bilan bog'liq muammo... Birinchidan, barcha jadvallaringiz va maydonlaringiz bir xil kodlashda yozilganligiga ishonch hosil qiling, bu saytning qolgan qismining kodlashiga mos keladi. Agar bu yordam bermasa, skriptga ulangandan so'ng darhol quyidagi so'rovni bajaring:

NOMLARNI O'RNATISH "utf8"

Ning o'rniga " utf8"boshqa kodlash bo'lishi mumkin. Shundan so'ng ma'lumotlar bazasidagi barcha ma'lumotlar to'g'ri kodlashda chiqishi kerak.

Ushbu maqolada umid qilamanki, hech bo'lmaganda demontaj qildim Saytda "abrakadabra" paydo bo'lishi bilan bog'liq muammolarning 90%... Endi siz bunday mashhur va oddiy muammo bilan qisqa vaqt ichida noto'g'ri kodlash bilan shug'ullanishingiz kerak.

15.03.2016

hali emas


Hammaga salom!
Biz HTML asoslarini o'rganishni davom ettirmoqdamiz. Ushbu darsda biz tahlil qilamiz hTML kodlashni qanday ko'rsatish kerak sayt uchun (veb-sahifa).
Ushbu o'quv qo'llanma juda muhimdir, chunki veb-sahifa uchun kodlashni qanday belgilashni bilmaslik sizning sahifangizni o'qimaslikka olib kelishi mumkin. Siz: "Qanday qilib ular qodir emaslar?"
Menga blogim qanday ko'rinishini noto'g'ri kodlash bilan ko'rsatib beray:

Shunday qilib, HTML kodlash Alfavit kodlari va belgilarining yozishmalar jadvallari. Ya'ni, bizning kompyuterimiz kodlash kodini tushunarli o'qiladigan harflarga o'zgartiradi.

Brauzerga veb-sahifa belgilarini kodlash nimada ekanligini aytib berish uchun teglar orasiga yozish kerak bu meta teg:

Iltimos, kodda "kodlash nomi" so'zi borligini unutmang. Bu erda siz HTML kodlashni ko'rsatishingiz kerak.
Odatda bu utf-8 yoki windows-1251.

Kodlashutf-8:

Kodlash uchun windows-1251:

Agar siz brauzerga sayt yoki veb-sahifaning qaysi kodlashini aytib berishni unutib qo'ysangiz, brauzer kodlashni avtomatik ravishda aniqlashga harakat qiladi, lekin u har doim ham to'g'ri ishlamaydi. Natijada natija yuqoridagi rasmda ko'rsatganim bilan bir xil bo'ladi.

Amaliyotga boramiz.

HTML hujjati qanday yaratiladi
utf-8 kodlash

"Barcha dasturlar" \u003d\u003e "Standart" \u003d\u003e "Bloknot" :

<br> <br> </body> </html> </p><p> <head></head> mana bu meta teg:</p><p> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </p><p> <html> <head> <title> StepkinBlog-dagi birinchi HTML sahifam ..<br> <br> </body> </html> </p><p>Notepad-ni bosing <span>"Fayl" \u003d\u003e "Saqlash ..."</span>:</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-3.png' width="100%" loading=lazy></p> <p><br> "Kodlash:" elementi qaerda "UTF-8" ni ko'rsatadi. <br> "Saqlash" tugmasini bosing:</p> <p><img src='https://i2.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-4.png' width="100%" loading=lazy></p><p>Rasm kattalashtirilsinmi?</p> <h3><span>Windows-1251 kodlash bilan HTML-hujjat qanday yaratiladi</span></h3> <p>O'zingizning standart bloknotingizni oching. <span><i>"Barcha dasturlar" \u003d\u003e "Standart" \u003d\u003e "Bloknot"</i> </span>.<br> Keyin standart HTML kodni bloknotga joylashtiring:</p><p> <html> <head> <title> StepkinBlog-dagi birinchi HTML sahifam ..<br> <br> </body> </html> </p><p>Endi biz veb-sahifani qaysi kodlashda saqlanganligini ko'rsatamiz. Buning uchun teglar orasiga joylashtiring <head></head> mana bu meta teg:</p><p> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> </p><p>Bu shunday ko'rinishi kerak (satr raqami 4):</p><p> <html> <head> <title> StepkinBlog-dagi birinchi HTML sahifam ..<br> <br> </body> </html> </p><p>Notepad-ni bosing <span>"Fayl" \u003d\u003e "Saqlash ..."</span>:</p> <p><img src='https://i1.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-5.png' width="100%" loading=lazy></p> <p>"Fayl nomi" bandi veb-sahifaning nomini lotin va ".html" kengaytmasi bilan yozing. O'ylaymanki, siz buni birinchi darslardanoq eslaysiz. <br> "Kodlash:" elementi qaerda "ANSI" ni ko'rsatadi. <br> "Saqlash" tugmasini bosing:</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-6.png' width="100%" loading=lazy></p> <p>Hammasi shu!</p> <p>Ko'pgina veb-ustalar UTF-8 kodlashni tanlaydilar. Men sizga sabablarni aytmayman, chunki sizga HTMLni o'rganish bosqichida hali kerak bo'lmagan ma'lumotlarni yuklashdan qo'rqaman.</p> <p>Masalan, blokirovkada kodni o'rnating:</p><p> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </p><p>Va saqlash paytida "ANSI" ni belgilang:</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-6.png' width="100%" loading=lazy></p> <p>Bu noto'g'ri bo'lgani uchun natija shunday bo'ladi:</p> <p>Bunday natijalarga yo'l qo'ymaslik uchun veb-sahifalaringizni to'g'ri saqlang</p> <p>Oldingi xabar <br></span> <span>Keyingi xabar <br></p> <p>Veb-sayt yaratishda, yangi boshlagan veb-ustalarda ko'pincha savollar paydo bo'ladi: sayt uchun qanday kodlash kerak, UTF-8 Windows-1251-dan nimasi bilan farq qiladi va uni saytning HTML-sahifasidagi META Charset-da qanday yozish kerak. Ushbu savollarning barchasiga javoblar ushbu maqolada keltirilgan.</p> <h2>Saytni kodlash nima va u qanday ishlaydi</h2> <p>Kodlash ma'lum bir tarzda kodlangan turli xil harflar, raqamlar va inson tomonidan o'qiladigan boshqa belgilardan iborat jadval sifatida ifodalanishi mumkin. HTML-sahifalarni o'z ichiga olgan matnli faylni ochganingizda, kompyuter uni kodlash saqlangan fayl sarlavhasidan o'qiydi va matnni tegishli kodlashda aks ettiradi, bu ma'lumotlarni kodlash jadvali bilan taqqoslab, kompyuter ma'lumotlarini odam o'qiydigan shaklga o'tkazadi. Agar fayl sarlavhasidagi kodlash to'g'risidagi ma'lumotlar HTML sahifasida ma'lumotlar saqlanadigan kodlash bilan mos keladigan bo'lsa, u holda foydalanuvchi unga tanish bo'lgan harflar, raqamlar va boshqa belgilarni ko'radi. Agar mos kelmasa, natijada foydalanuvchiga, ayniqsa, ko'pincha eski elektron pochta dasturlarida ko'rsatiladigan tushunarsiz belgilar to'plami paydo bo'ladi. Agar foydalanuvchi tushunarsiz kryakozabralar bilan xat olgan bo'lsa, unda oddiygina turli xil kodlashlar bo'yicha saralash orqali, odatda, taxmin qilingan va xat yozilganini tanlagan bo'lib chiqadi va natijada tushunarsiz belgilar to'plami odam tomonidan o'qiladigan matnga aylanadi.</p> <p>Xuddi shu narsa saytning HTML-sahifalarida sodir bo'ladi. Agar hujjat, masalan, UTF-8 kodlashda saqlangan bo'lsa va hujjatning o'zida bu windows-1251 kodlash ekanligini ko'rsatadigan META yorlig'i bo'lsa, brauzer yana faylda saqlangan ma'lumotlarni unga ko'rsatilgan kodlash jadvali bilan taqqoslaydi va belgilar kodlanganligi sababli - boshqacha tarzda, brauzer odatdagi matn o'rniga tushunarsiz belgilar to'plamini aks ettiradi yoki ba'zi harflar normal shaklda, boshqa harflar yoki belgilar, masalan, savol belgilari shaklida ko'rsatilishi mumkin. Yuqoridagilarning barchasi fayl nomlarini ko'rsatishda ham qo'llaniladi.</p> <p>Matn muharririda yangi hujjat yaratishda kerakli kodlash tanlanganligiga darhol ishonch hosil qilish yaxshiroqdir. Zamonaviy muharrirlar ochiq hujjat matnini bitta kodlashdan boshqasiga o'tkazishga imkon beradi, standart bloknot esa faqat faylni saqlaganingizda kodlashni tanlashga imkon beradi.</p> <h2>Eng keng tarqalgan kodlashlar</h2> <p>Avvalgi xatboshidan siz kodlash nima ekanligini va uni sayt sahifalari kodida to'g'ri ro'yxatdan o'tkazish nima uchun juda muhimligini allaqachon bilasiz. Keling, kelajakdagi sayt uchun ko'plab kodlashlardan qaysi birini tanlashni yaxshiroq ekanligini bilib olaylik. Windows operatsion tizimi har doim eng keng tarqalgan va eng tushunarli bo'lganligi sababli, ko'pgina veb-ishlab chiquvchilar sukut bo'yicha ishlatilgan Windows-1251 (ANSI) kodlashida HTML sahifalarini yaratdilar. Ammo Windows-1251 juda ko'p sonli harflar va belgilarni qo'llab-quvvatlamaydi va ishlab chiquvchilar o'zlarining matnlarida turli xil o'qlar, qalblar, kvadratchalar va boshqa belgilarni ishlatishni xohlashadi, shu jumladan turli xil tillardan kelgan so'zlarni bitta hujjatda birlashtirishga ehtiyoj bor, shuning uchun u uzoq vaqtdan beri almashtirilib kelinmoqda kengaytirilgan UTF-8 keldi va ko'pchilik ishlab chiquvchilar ushbu kodlashdan foydalanadilar.</p> <h2>Faqat HTML sahifasida emas, balki muammolarni kodlash</h2> <p>Bu shunchaki statik HTML hujjatlar to'plami bo'ladimi yoki tezda sahifalarni yaratadigan murakkab dinamik skriptlar bo'ladimi, ma'lum bir kodlash bilan ishlaydigan veb-serverda joylashtirilgan. Agar server ma'lumotni bitta kodlashda chiqarsa va sizning sahifalaringiz yoki skriptlaringiz boshqa kodlashda saqlansa, yana foydalanuvchi brauzerida sahifalarni ko'rsatishda muammolar bo'lishi mumkin. Ko'pgina xosting provayderlari sizga sozlamalarni o'zgartirishga va kodlashni boshqaruv paneli orqali sayt fayllarida ishlatilganiga mos ravishda tanlashga yoki xosting mashhur Apache veb-serveridan foydalansa .htaccess faylida ro'yxatdan o'tkazishga imkon beradi.</p> <p>Deyarli hech bir zamonaviy veb-sayt MySQL ma'lumotlar bazasidan foydalanmasdan to'ldirilmaydi va u kodlash muammolarining manbasiga aylanishi mumkin. Agar sayt fayllari bitta kodlashda, ma'lumotlar bazasidagi ma'lumotlar boshqasida saqlanadigan bo'lsa, unda sahifada ma'lumotlar bazasidan chiqarilgan ma'lumotlarning bir qismi bir xil savol belgilari yoki boshqa tushunarsiz belgilar shaklida ko'rsatilishi mumkin. Kodlash bilan bog'liq muammolarga duch kelmaslik uchun veb-server, MySQL ma'lumotlar bazasi, skriptlar, saytning HTML sahifalari va HTML kodida yozilgan META yorlig'i uchun bir xil bo'lishi kerak. Agar matnni ko'rsatishda muammolar mavjud bo'lsa, unda yuqoridagi barcha muammolarni tekshiring.</p> <h2>META Charset HTML hujjati</h2> <p>Brauzer va qidiruv tizimlariga sayt sahifalarini kodlash nimada saqlanganligini aytib berish uchun ularning kodida META Charset yozilgan.</p> <p>Windows-1251 kodlash uchun:</p> <span><!DOCTYPE html> <html lang="ru"> <head> <title>Sahifaning nomi

Sahifa matni




UTF-8 kodlash uchun:

Sahifaning nomi

Sahifa matni




Endi siz saytni kodlash nima ekanligini va agar saytning biron bir qismida matn noto'g'ri ko'rsatilsa, muammolarni qaerdan qidirishni bilasiz.

Maqolani nusxalash taqiqlanadi.

Maqola sizga yoqdimi? Do'stlar bilan bo'lishish uchun: