Safari kullandığım zaman neden not gibi emoji çıkıyor ancak Chrome'u kullanmıyorsunuz?


30

Safari kullandığımda neden o gibi emoji görünüyor, ancak aynı MacBook'ta Lion çalıştıran Chrome'da değil? Her iki tarayıcı da WebKit kullanıyor ve font desteğinin uygulamadan değil işletim sisteminden geldiğini hayal ediyorum.

Başvuru amacıyla, bu sayfa Chrome 17.0.963.56'da oluşturulan sayfadır:

Krom 17.0.963.56

Ve bu sayfa Safari 5.1.3 (7534.53.10) 'da işlenen sayfadır:

Safari 5.1.3 (7534.53.10)


9
Chrome'da bu incelemekte ve ben soru veya başlığında 💩 görmüyorum ama bunu pencerenin tepesinde sekme başlığı görüyorum.
CajunLuke

Tam sayfa başlığını görmek için nadiren sekmelerin üzerine geliyorum, ama haklısınız, gerçekten de öyle. Bu çok şaşırtıcı.
Jason Salaz,

Chrome, kendi karakter paletine eklenmiş olabilir; bu, yerel ve özel sürüm arasındaki karma bir sürüm olabilir. Ve sadece OS X için güncellemeleri gerekiyor. Fakat emojinin sadece font tipinde bir konu olmadığını biliyorum (örneğin ilgili fontu yükleyerek emojiyi SL'ye taşıyamazsınız). Yani onlar için sadece yeni bir yazı tipi okumaktan daha fazlası var. Google’a bir hata yapardım. Veya tam destek talep edin.

14
Chrome'lu ziyaretçiler başlığı okumakta zorlanacaklarından, başlığı "Google Chrome'da nasıl türetirim?" Olarak değiştirmek için oy kullanırım.
Gerry

@cksum Başlığı geri aldım çünkü bu soruya ilişkin önemli bir bilgi parçası haline geldi.
Jason Salaz

Yanıtlar:


27

Aradaki fark, tarayıcı pencereleri için işleme motorlarıdır.

Safari’nin karakter kümesini Chrome’dan farklı bir şekilde oluşturduğunu biliyoruz. Ancak Pencere Kullanıcı Arabirimi öğeleri (Chrome'daki sekmeler) tamamdır. Bu bizim en büyük ipucumuz.

Pencere kullanıcı arabirimi öğeleri, işletim sistemi tarafından oluşturulan (büyük olasılıkla vurgu, burada doğru olmayabilirim) olasıdır. Bu yüzden tam bir işletim sistemi düzeyinde emoji genleşme tedavisi almak.

Ancak, bir web tarayıcısı penceresinin içinde olanlar tamamen tarayıcıya bağlıdır. Render motorları her tarayıcının gizli sosunun büyük bir parçasıdır.

Hem Safari hem de Chrome, WebKit kullanıyor, ancak kullandıkları WebKit örnekleri arasındaki benzerlikler, motor adının çevresinde bir yerde duruyor. Her ikisi de ana sürümdeki çatallardır ve her ikisi de, her tarayıcı geliştirme ekibinin son kullanıcıları için anlamlı olduğunu düşündüğü şekilde performansı artırmak için büyük ölçüde özelleştirilmiştir.

@JasonSalaz, Chrome hata veritabanında, bize WebKit çatalları olduğuna dair son ipucunu veren büyük bir hata buldu: http://code.google.com/p/chromium/issues/detail?id=90177 - bu hata Açık kaynaklı projedeki Chrome'daki çatal ile WebKit'in ana hattı arasındaki farklardan bahsediyor. Ana hatta, Chrome'un kullandığı sürüme henüz girmemiş olan oluşturma farkları var. Ve bir noktada değişimleri birleştirmek niyetindeymiş gibi görünüyor.

Güncelleme: Paul Irish, WebKit'in şu anda kullanan tüm bu tarayıcılar için farklılıkları konusunda harika bir blog yazısına sahip . WebKit ortamının ne kadar farklı olduğunu gerçekten anlamak istiyorsanız, bu harika bir okuma.


Argh. Bazı ekran görüntülerini almalıydım. Oh iyi ...
Ian C.

Choumium bug bilet takibi Emoji desteği şudur: crbug.com/62435 Bağlantılı olanın kopyası.
Mathias Bynens

Kayıt için: Chrome 20.0.1132.57'de hala bozuk.

Çok güzel, Hatalı Rapordaki 17 numaralı yoruma göre bu sorun kapatıldı. Herhangi biri tekrar şikayet etmek istiyorsa, yeni bir hata raporu hazırlamanız gerekir.
Gentmatt

1
Artık Chrome 41'den itibaren çalışıyor! Feb
yincrash


2

Sorun şu ki, tarayıcınız, görüntülemekte olduğunuz belgenin kodundan farklı bir karakter kodlaması kullanıyor.

Peki tarayıcı hangi karakter kodlamasını kullanacağını nasıl biliyor?

  1. Content-TypeBaşlık kullanılarak HTTP'de belirtilebilir .
  2. HTML belgesi için metaeleman kullanılarak belirtilebilir .
  3. charsetÖzniteliği kullanarak belirli bir HTML öğesi için belirtilebilir .

Bunlardan hiçbiri belirtilmezse, farklı tarayıcılar doğru karakter kodlamasını tahmin etmek için farklı teknikler kullanır. Bazıları sezgisel kullanır. Bazıları kullanıcının bir karakter kodlaması belirtmesine izin verir. Bazıları işletim sisteminin varsayılan karakter kodlamasını seçer.

Bunların hiçbiri dışarı çıkmazsa, mojibake olarak da bilinen anlamsızca elde edersiniz.

Sorunuzu doğrudan cevaplamak için: Safari ve Chrome, doğru karakter kodlamasını bulmak için farklı şeyler deniyor.


3
Görünüm -> Safari’deki Metin Kodlaması 'Varsayılan' diyor. Görünüm -> Chrome'daki Kodlama 'UTF-8' diyor. Safari tercihleri ​​varsayılan kodlamanın Batı (ISO Latince 1) olduğunu söylüyor. Kodlamayı Chrome'da Western (ISO-8859-1), Western (Windows-1252) veya Western (Macintosh) olarak değiştirirsem, hala doğru emojiyi göremiyorum, ancak boşluk yerine anlamsızca görüyorum. Karakter kodlaması kadar basit olduğunu sanmıyorum. Farklılıklar yarattığından şüpheleniyorum. (devam ...)
Ian C.

1
(yukarıdan devam) Bu, emojiyi gösteren başlık çubuğunu hesaba katar (metin, OS X'in oluşturma motoru tarafından bir Pencerede grafiksel bir öğe olarak oluşturuluyor olabilir) ve sayfanın gövdesi, Chrome'un kendi oluşturma motoru tarafından oluşturuluyor.
Ian C.

1
@IanC. eğer biraz daha genişletirseniz, bu muhtemelen cevaplamaya değer . Chrome, WebKit'i kullanıyor, ancak aksi takdirde emojiyi doğal olarak destekleyen ObjC / Cocoa'nın sınıflarından birini kullanmıyor. Bu, tüm Chrome'un # 1 özelliğinden sonra, her zaman yalnızca özel bir çözümle elde edilen, hızlı bir şekilde kötüleşiyor. Bu nedenle, Chrome'un emoji için açıkça destek yazması ya da insanların bunları Safari ve diğer tarayıcılar üzerinden tercih etmelerini sağlayan şeyi yapmayı bırakması gerekir. (Hangisinin daha muhtemel olduğunu tahmin edin?)
Jason Salaz


@JasonSalaz bu hata raporu ile güzel yakalamak. Bu son parça. Cevabı yazıyorum!
Ian C

0

Chrome menü çubuğuna gidin, "Diğer Araçlar" → "Kodlama" yı tıklayın ve yeni bir kodlama formatı seçin. "Unicode UTF-8" kullanıyorum, benim için çalışıyor gibi görünüyor.


-1

https://code.google.com/p/chromium/issues/detail?id=62435 yakın zamanda sabit olarak işaretlendi; 41 sürümünden başlayarak emoji Chrome'da iyi görüntülemelidir.


1
Yararlı olsa da, bu gerçekten bir cevap değil. Neden olduğunu açıklamıyor . Bu daha iyi bir IMO olarak bırakılmıştır.
Ian C.

Öyleydi, çünkü emojiyi desteklemedi. Yani m41 kararlı olduktan sonra soru mantıklı olmaz.
thakis

-9

Sembol, Apple tarafından yapılan bir karakterdir. Safari kendi karakter setini kullanır.


5
Aslında "kaka yığını", Unicode - sembol 1F4A9 sembolünde uluslararası bir standart karakterdir ve yalnızca Apple'a özgü bile olsa Safari için özel bir şey bile bırakmaz. Ayrıntılar için Emoji'deki Wikipedia girişine ve bu PDF dosyasına bakın.
bmike

2
Karakter Apple'a özgü olmasa da renkler. Şu ana kadar var olan başka herhangi bir renk fontunu bilmiyorum ve Apple'ın bunu yapmak için kendi standardını yarattığını düşünüyorum (özel bir sbix tablosu). Çeşitli uygulamalar bu yazı tipini tanımaz, ancak normal siyah / beyaz yazı tipi Symbola'dan görüntülenir.
Tom Gewecke 12:12

1
Not: Bu yazı tipi hakkında gerçekten "Apple'a özgü bir şey" olduğu için, bu cevabın eksi notunun önerebileceği kadar uzakta olmadığını düşünüyorum.
Tom Gewecke

@TomGewecke iyi, "Safari kendi karakter setini kullanıyor" sadece yanlış. Bu yüzden eksi notlarının hak edildiğini düşünüyorum.
jbg
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.