Koristuyuchisya kod yan pencereleri 1251 kodlama tabloları

3 oy

Merhaba blogumun yeni okuyucuları. Bugün sizlerle kodlama hakkında konuşacağız. Bunlarla ilgili makalemi okursanız, İnternet'teki herhangi bir belgenin Yogo Bachiti adını verdiğimiz yanlış şekilde kaydedildiğini bilirsiniz. Mantıksız sembol ve işaretlerin yardımı için kayıtlar Vіn. Metin ile her şey aynı.

Іsnuє kіlka koduvan ve buna göre, kitabı açarken mantıksız semboller gevezelik eden іnоdі mobil ek aksi takdirde sitedeki makaleyi yazdıktan sonra, ayarlardaki tapu değerlerini hatırlayarak alfabeyi ilk kez söylersiniz.


Windows-1251 kodlaması - kazanmanın anlamı nedir en kısa çözümler bugünün gününde? Bugünün makalesindeki her şey hakkında. Kural olarak, basit kelimelerimle mümkün olduğunca çok ve minimum sayıda terimle anladım.

teorik bilgiler

İster bilgisayarda ister internette belge olsun daha önce de söylediğim gibi çift koda bakılarak alınır. Örneğin, sanki siz galip gelmişsiniz gibi ASCII kodlaması, o zaman “K” harfi 10001010 olarak yazılacaktır ve bu sayı için Windows +1251, sembolü C™'dir. Torba durumunda, tarayıcı veya program diğer tabloya geri dönecek ve ASCII değerini girecektir. windows kodi 1251, o zaman okuyucu bu sembolden kesinlikle habersizdir.

Mantıksal güç, kişisel olmayan bir tabloda kodlarla gezinmek ne için gerekliydi? Sağda, Rus alfabesi İngilizce, Almanca ve Çince'ye dayanmaktadır. Deakim pіdrahunkami için 200.000'e yakın sembol var. Yine de, Japonca hakkında konuşurken bu istatistiklere pek güvenmiyorum.

Unutmayın, büyük ve küçük harfler için kendi kodunuz, є Komi, tire vb.

Sembol tablolarında ne kadar çok varsa, dış görünüm kodunun kodu o kadar fazladır ve bu nedenle belgenin hacmi büyür.


Yayavit, yakby one book 4 GB önemliydi! Vaughn uzun süre meşgul olurdu, her şeyi işgal ederdi müsait yer bilgisayarda. İndirmeyle ilgili karar çok zor olurdu.

Siteleri düşünürseniz, ne olacağını korkutucu düşünmeye başlarsınız. Deri tarafı, yılın İsveç optik fiberine çevrildi! Düşünmek, cep telefonları cesaretle wikidate olabilir. Navit z 4G sokaklarında Corystuvatisya onları? tereddüt ediyorum.

Üç nedenden dolayı, zamanının programcısı kendi sembol tablosunu oluşturmaya çalıştı. Sob, vikoristannya ve vaga zberіgavsya optimal için kullanışlıydı.

Örneğin Microsoft, Rus segmenti için Windows-1251'i yarattı. Açıkçası, kendi avantajları ve eksiklikleri var. Diğer herhangi bir ürün gibi.

Aynı zamanda, İnternet'teki tüm sayfaların %2'den azı 1251'de yazılmıştır. Çoğu web yöneticisi UTF-8 kullanır. Neden öyle?

Nedoliki ve iyilik

UTF-8, windows-1251 penceresindeki evrensel kodlamadır, içine farklı alfabelerin harfleri yerleştirilmiştir. UTF-128, de є vzagalі tüm dilleri kullanın - Teul, Swahili, Lao, Maltaca vb.


UTF-8 bіdnishі, harfler daha az zaman alır ve 1251'de olduğu gibi yalnızca bir bayt bellek kaplar. özel karakterler. Her biri 5-6 baytlık pis koku ve önemi, ancak belgede nadiren görünürler.

Bu kodlama daha düşünülmüş ve bu її vikoristovuє kilitleme için daha fazla ekleme. Yani, programı belirtmezseniz, kodu kodlarsanız, o zaman yapılacak ilk şey UTF-8'in kendisini yanlış yorumlamaktır.

oluşturduğunuzda html belgesi site için, ardından tarayıcılara kayıtların şifresini çözerken tabloyu kullanmalarını söyleyin.

Bunun için aşağıdaki verileri baş etiketine eklemek gerekir. Aşağıdaki karakterler, aşağıdaki uygulamada olduğu gibi UTF veya Windows "charset =" şeklindedir.

<meta http-equiv="İçerik Türü" içerik= "metin/html; karakter kümesi=windows-1251">


Gelecekte Arnavutça vikoristovuyuchi tsyu kod çözme tablosunu hatırlamak ve eklemek isterseniz, kodlamayı anlamasanız bile hiçbir şey görmezsiniz. UTF-8 size sorun çıkarmaz.

Sitenin doğru oluşturulması konusunda takıldıysanız, size Mikhail Rusakov'un rotasını önerebilirim " A'dan Z'ye sitenin oluşturulması ve tanıtımı ».



İntikam almak zenginliktir - 256 ders, nasıl öğrenilir, JavaScript ve XML. Siteden nasıl para kazanılacağını anlayabileceksiniz, böylece daha fazla para kazanabilirsiniz. Gerekli olan her şeyin bu kadar ayrıntılı bir şekilde anlatıldığı zavallı el yazılarından biri.

Ben kendim zaten ekseni öğreniyorum blog yazarları okulunda Oleksandra Borisova . Bir saatten fazla sürüyor, son ve kenar henüz görünmüyor, ancak o zaman daha az zor ve disiplinli değil. Gelişime devam etme motivasyonu.

Pekala, sadece yemeği suçlayın, internette arama yapmanıza gerek yok. Zavzhdi yetkin bir akıl hocasıdır.



Schos bunları gördüm. Koduwan'a dönelim.

bazi banny

Eğer dil php ile ilgiliyse herkes korkar. Size zaten veri tabanlarından bahsetmiştim, pis koku sitenin hızlı çalışması için galip geliyor. Arayın, onlara gitmiyorsunuz ama siteyi devretmek gerekirse dayanılmaz hale geliyor.

Skladnoshchi traplyayutsya hiç, baiduzhe iyi bir işiniz, deneyiminiz ve hizmet yıllarınız var. Veritabanındaki aktif taraflar, Windows-1251 için mevcut tüm sembolleri içerebilir, aksi takdirde örneğin yan şablonlarda, diğer kodlamalarda.

Transfere ihtiyaç duyulana kadar, doğru bilmesem de her şey çalışıyor ve çalışıyor. Ancak taşınmanın ardından kabul edilemezlik başlar. İdeal olarak, yalnızca UTF'yi veya Windows-1251'i kazanmalısınız, ancak aslında hepsinin çok küçük bir ekseni var.

Şifre çözme için mysql_query kodunu ("SET NAMES cp1251") girmek gerekliydi. Bu şekilde, dönüşüm farklı bir protokol olan cp1251'e göre gerçekleştirilecektir.


htaccess

Sanki sitede bariz bir şekilde 1251 galip geliyormuşsunuz gibi, o zaman bilmeli veya yaratmalısınız. htaccess dosyası. Yapılandırma ayarları için Vіdpovіdaє. Her şeyin yolunda gitmesi için yenisinin üç satır daha eklemesi gerekecek.

VarsayılanDil tr; AddDefaultCharset windows-1251; php_value default_charset "cp1251"

Yine de UTF-8 kullanmayı düşünmenizi şiddetle tavsiye ederim. Popüler, basit ve zengin. Hemen herhangi bir karar almadın, bu önemli, böylece her şey yılın yardımıyla düzeltilebilir. İngilizce sürümünü siteye kendi kodunuzla eklemek çok daha kolay olacaktır. Hiçbir şeyin düzeltilmesi gerekmiyor.

Karar senin. Rozsilka'ya kaydolun, böylece yakomoga'yı daha iyi tanıyabilir, daha fazla bilgi edinebilir, böylece başkalarının aflarını tekrarlamaz ve aynı zamanda blog yazarları gibi daha fazla yardım alabilirsiniz.

Yakında görüşürüz ve çabalarınızda iyi şanslar.

Günlerce, Denwer kitinin UTF-8 kodlamasına karşı kötü hassasiyetiyle ilgili küçük bir sorunu çözme şansım oldu. Sorun, dürüstçe kazhuchi, drib'yazkova ortaya çıktı ve 15 için bula vyrishena khvilin, 10 z zakih Google'ın victoria'sını aldı. Bu saatte, doslіdzhuyuchi farklı forumlar, birçok insan için bu sorunla uzun süre baş etmenin mümkün olmadığını hatırlıyorum. Ek olarak, UTF-8'i kazanmak için kod zenginliğinin artık moda olduğu düşünüldüğünde, Windows-1251'in böylesine "Rusça" bir kodlaması çok güzel. Axis ve virishiv bu konuyla ilgili birkaç gönderi yazıyor. Bu kodların genel bir açıklamasıyla başlayacağım ve ara vermeden Denwer paketindeki sorunun UTF-8 sürümünün açıklamasıyla devam edeceğim.

Kısa bir süre önce, oluşan çevre ile uyumlu olarak, Windows-1251 kodlamasını değiştirdikten, uzun süre çalıştıktan sonra tekrar tekrar UTF-8'e geçeceğim. Geçişin tüm nedenlerini açıklamayacağım, ancak ana nedenler:

  • günümüzün kendilerini kilitlemek için kullandığı web platformlarının çoğu bunun üzerinde çalışıyor;
  • її bagatomo'nun projelerinin oluşturulması için zaten özenle seçilmiş;
  • sembollerin kodlanmasındaki zafer sayısı 100.000'e yakındır;
  • Kodlama evrenseldir, bu nedenle Nikaragua'daki Rus sembollerinin üzerine Ruslar yazılır.

teorik bilgiler

Windows-1251 - tüm Rusça sürümler için standart 8 bitlik kodlama olan karakter seti ve kodlama Microsoft Windows. Koristuetsya büyük popülerlik elde etmek için. Windows-1251, harika bir metin için Rus tipografisinde kullanılan hemen hemen tüm sembolleri gösteren diğer 8 bit Kiril kodlamalarında (CP866, KOI8-R ve ISO 8859-5 gibi) görülebilir; ayrıca Rus diline yakın tüm sembollerden intikam almayacak: Ukraynaca, Belarusça, Sırpça ve Bulgarca.

UTF-8 - artık Unicode temsilini uygulayan, toplamda 8 bit metin kodlaması sağlayan genişletilmiş kodlama. Yaygın olarak bilinen zastosuvannya işletim sistemleri ve web alanı. Yalnızca 128'den küçük sayılara sahip Unicode karakterlerinden oluşan metin, UTF-8'de yazıldığında düz ASCII metnine dönüştürülür. Unicode karakterlerin Reshta'sı, 2 ila 6 bayt uzunluğundaki dizilerle temsil edilir.

Kodlamanın temel güçleri

Baş vodminnist koduvan - tse vykoristovuvaniya semboller kümesi. UTF-8'de Windows - 1251'den çok daha fazla karaktere izin verilebilir. Windows kodlaması bin iki yüz elli bir tek bayttır, bu nedenle içinde yalnızca 255 karakter gösterilebilir. Yeterince yeterli olan Kiril, vtіm için, aynı tek baytlık kodlama o kadar büyük ölçüde zastosovuetsya yapıyor.

UTF-8'de kodlanan bir karakter, 6 bayta kadar kodlanabilir (şimdilik yalnızca 4 bayt kodlanmıştır ve daha fazlası planlanmamıştır). Örneğin bir Rus filmi için bir karakter 2 bayt alır. Sembol tablosunda yer alan tüm semboller kodlamaya göre yorumlanır. Örneğin, bir telif hakkı işaretine (©) ihtiyacınız varsa, belirli bir yazı tipi kullanmanıza veya grafik biçiminde sembolleri görüntülemenize gerek yoktur.

UTF-8'in Artıları:

  • UTF-8, dekilkom movs'tan bir saatlik işlem yapmanızı sağlar, böylece farklı alfabelerin sembollerinin yazıldığı metinleri görebilir ve hiyeroglif yazabilirsiniz. Bin iki yüz elli birin büyük bir kısmını kodlamak imkansızdır;
  • UTF-8 varyantı, içeri girmenize izin verir kod tabloları, Daha önce tek baytlık kodlamada olan sembollerin ve diğer tüm sorunların çevirisi;
  • Daha önce Rusça için olduğu gibi aynı film için bir kod satın almanıza gerek yok: cp1251, cp866, koi8r, iso8859-5.

Eksi UTF-8 ...

Ve bu kodlamanın kokuları nelerdir? Bu konuda sadece birkaç farklı mit ve efsane biliyorum, bunların hikayesi: "UTF-8'in eski tarayıcılarla sorunları var" - küçük ... Her durumda, Lynx ve Mosaic gibi değil _); "UTF-8, sunucudaki sorunları suçluyor" - evet, çünkü sunucu kilitleme için kodlamayı değiştirmek zorunda kalıyor. Ale eksi kodlama değil zaten kesin...

Web sitesi yaratıcısının önünde her zaman bir sorun ortaya çıkar: projenin nasıl kodlanacağı. Rus İnternetinin iki kodu vardır:

UTF-8(Video İngilizce. Unicode Dönüşüm Biçimi) - bu saatte, 8 bitlik kodlama metnini özetleyen Unicode temsilini uygulayan kodlama genişletildi.

Windows-1251(aksi takdirde cp1251) - Microsoft Windows'un tüm Rusça sürümleri için standart 8 bitlik kodlama olan karakter seti ve kodlama.

UTF-8 daha umut verici. Ale, konuşmalar olsun, eksiklikler var. Diğer faktörlerin zenginliğini dengelemeden yalnızca gelecek vaat edenler için kodlama seçimiyle ilgili ilk karar doğru görünmüyor. Seçim, yalnızca belirli bir projenin tüm nüanslarını kapsarsanız en uygun olacaktır. Sağda, tüm nüansları tek başınıza iletmek kolay değil.

Lütfen UTF-8'in daha iyi olduğunu unutmayın, ancak proje için doğru olanı seçebilirsiniz. Ve vikoristovyte seçimini kolaylaştırmak için her iki koduvansın özelliklerinin bir tablosu.

yetki UTF-8 Windows-1251
rezil karakter
Bagatomovnist Kodlama, hem genel hem de sitenin yönetimsel kısmında farklı filmler yazmanıza olanak tanır.
  • İyi bir harika sitenin kodlamasını Windows-1251'den UTF-8'e değiştirmek ciddi ek çalışma ve finansal destek gerektirebilir.
  • Rusça ve İngilizce, Windows-1251'de sorunsuz çalışır, bu nedenle kesinlikle diğer dillerde kullanmıyorsanız UTF-8'de kullanamazsınız.
Çok sayıda karakter. Özel karakterler kullanma imkanı. Є. Ale, tarayıcı yeteneklerini koruman gerekiyor. Kadro yok. Özel karakterleri "militia" ile değiştirmek mümkündür, örneğin © with & cory; veya × (çarpma işareti) ila & Times;. Ancak bu, bir içerik yöneticisinin eğitim seviyesini yükseltir ve başka bir veri tabanından veri aktarırken sorun yaratır. Ek olarak, Bitrix Çerçevesinde görsel düzenleyiciyi etiketlemeyen alanlar vardır, örneğin, tarafları adlandırarak veya öğeyi Bilgi Blokları olarak adlandırarak. Ayrıca, düşük vasıflı uygulayıcıların yardımıyla projeyi desteklemeyi kolaylaştırır.
iş hızı
  • Sitede çalışırken, robotun tüm işlevlerini satırlar halinde yönetmek gerekiyordu. mb_*. Tse, tüm metnin sitenin kodlamasına kodlanacağı anlamına gelir.
  • utfstrlen sıranın sırasına yat, vіdpovіdno strlençok bayttan 3 kat daha hızlı çalışır: binlerce yineleme için 0.0004'e karşı 0.0013. Gerçek sitenin çalışma hızındaki farkın% 10-15'inde tse vylivayetsya'daki vimirami için.
Minimizasyon proje için zorunludur. UTF-8'deki proje, bu kodlamadaki satırların tek baytlık Windows-1251'deki satırlardan iki kat daha fazla yer kaplaması nedeniyle daha "önemli" olacaktır. Sitenin ve veritabanının genişletilmesi 1,2 - 1,5 kat daha büyük olacaktır.
Daha fazla js çerçevesi için destek Pіdtrimuєtsya sorunsuz. Uygulamada katlama.
podtrimka MS SQL arka teknik nedenler Dani içinde MS SQL sorumluluklar kaydedilir ve Windows-1251'de kaydedilir. Ek ayar gerekli. Sorun yok.
CSV'yi içe aktar mükemmel UTF-8'de kaydedilmedi. Oluşturulan dosyayı başka bir düzenleyicinin yardımı için başka bir kodda yeniden kaydetmek gerekir. Sorun yok.
1C'den içe aktar UTF-8'deki siteler, entegrasyon sırasında sorunsuz çalışır. SABUN bu tür sistemlerle yak, örneğin 1C.
Web görüntüleyici Yandex.Metrica Web görüntüleyici, görünümlerin ayrıntılarını doğru bir şekilde kaydeder. Kayıtta affedebilirsin.
Pov'yazanі z Bitrix Çerçevesi
Multisite sistemine göre farklı kodlamalarda site geliştirme imkanı. İmkansız. Aynı çekirdekteki tüm siteler aynı kodlamada olmalıdır.
Farklı barındırmalarda Pidrimka Bitrix Framework ile çalışırken, php seçeneğini bağlamanız gerekir. mbstring.func_overload büyük abo eşittir anlamında 2 . Tse. Her türlü barındırma üzerinde pratik yapın.
Ürün yerleştirme sanal makine BitrixVM. Kilitleme için. Vimagaє dodatkovyh diy z nalashtuvannya.
Site menüsündeki öğelerin doğru görüntülenmesi Bu kodlamanın varyasyonu ile böyle bir sorun mümkündür. Cilt dosyasını UTF-8'de yeniden kaydederek Virishuetsya. (Kesin olarak, yalnızca menüdeki dosyaların değil, tüm dosyaların yeniden kodlanması ve gerekirse her ikisinin de yeniden kodlanması önerilir.)
Örneğin, rap kodlarının IDE'ye aktarılması tutulma pdt Ayarlarda bir UTF-8 projesi ayarlandığında, Bitrix Framework çekirdek koduna yorumlar eklenir. Sorun yok.
farklı damlalar
İle etkileşimi wordpress(Blog istemcileri, geri izleme ve ping "i) є Hiçbir şey
Dosyaları düzenleme FTP başından sonuna kadar UZAK FAR, UTF'yi yalnızca 2.0 sürümünde destekler. Belki
Daha fazla editör desteği Malzeme Listesi olmadan UTF-8 kodlamasını destekleyen bir editöre ihtiyacınız var. Sorun yok.

Bir web sitesini win1251 kodlamasından UTF-8'e dönüştürme

Zagalny kendin yap siparişi:

    1. Tüm veri tabanını UTF-8'e dönüştürün (yardım için sunucu yöneticisiyle iletişime geçmeniz de gerekmez).

    2. Tüm site dosyalarını UTF-8'e dönüştürün (bunu kendiniz yapabilirsiniz).

    3. /bitrix/php_interface/dbconn.php dosyasına satır ekleyin:

define("BX_UTF", doğru);

4. Aşağıdaki satırları /.htaccess dosyasına ekleyin:

php_value mbstring.func_overload 2 php_value mbstring.internal_encoding UTF-8

Sitenin kök klasörüne SSH aracılığıyla komutu yazarak tüm site dosyalarını UTF-8'de (başka bir nokta) yeniden kodlayabilirsiniz:

bulmak. -isim "*.php" -f yazın -exec iconv -fcp1251 -tutf8 -o /tmp/tmp_file() \; -exec mv /tmp/tmp_file() \;

Windows 1251 kodlaması, Ruslaştırma için 90 yıl koçan üzerine inşa edildi yazılım ürünleri Microsoft tarafından yayınlananlar:

Kodlama 8 bittir ve Yang grubu mov kelimelerinin sembollerini içerir, yak, diğer Kiril kodlamalarına göre öncelik veren Rusça, Belarusça, Ukraynaca, Bulgarca, Makedonca, Sırpça içerir ( ISO 8859-5, KOI8-R, CP866). Ancak, 1251 kodunun bazı eksiklikleri vardır:

  • 0xFF (25510) - bu kod "i" karakteri için bir rezervasyondur. Temiz bir 8. biti desteklemeyen programlar genellikle aktarılmamış sorunları suçlar;
  • KOI8, CP866'da olduğu gibi sözde grafik yoktur.

Kod Sayfası 1251 veya kısaltılmış СР1251 ( karakterlerin altındaki sayılar Unicode'da aynı karakterin onaltılık sisteminde є kodu):


Çoğu zaman, farklı niteliklere sahip olabilecek web perakendecileri ve blog yazarları, sorunu tarafların kodlamasıyla suçlarlar: hazırlanan metnin yerine bilinmeyen, okunamayan karakterler gelir. Bu sorunla başa çıkmak için " teriminin özünü anlamak gerekir. yan kodlama».

Bilgisayarın belleğindeki metin, göründüğü şekilde değil, bayt sayısına göre kaydedilir. Metin düzeltici. Dış görünüm baytı, bir karakterle eşleşen bir koddur. Yandaki metnin aşağıdaki gibi görüntülenmesi için tarayıcıya hatırlatmak gerekir, şarapların şifresini çözmek ve görüntülemek için bir kod tablosu olarak kazanmak gerekir.

Kodlama tablosu evrensel değildir, bu nedenle, metni deşifre etmek için, sembolleri kodlayabilmeniz için bunu hecelemek gerekir:


Html belgesinin tarayıcıda doğru görüntülenmesi için kodlama kodlamasının belirtilmesi gerekmektedir. Bu şekilde giyin:

etiket arasında ve yogayı kapat reçete etmek gereklidir - Vyhodyachi z inci sıra, tarayıcı yan taraftaki metni görüntülemek için Rus alfabesinin sembollerini vikoristovuvat yapacaktır.

Windows 1251'i PHP'ye kodlama

Veri tabanında toplanan bilgilerin bir parçası olarak sayfaların oluşturulmasının bir seçim sürecinden ve seçimden geçtiği kimse için bir sır değil. PHP'de bir site yazarken, genellikle mysql.