Perchè appaiono le emoji come

29

Perché appaiono le emoji come when quando utilizzo Safari, ma non Chrome sullo stesso MacBook con Lion? Entrambi i browser usano WebKit e immagino che il supporto dei font provenga dal sistema operativo, non dall'applicazione.

Per scopi di riferimento, questa è la pagina visualizzata in Chrome 17.0.963.56:

EquestaèlapaginavisualizzatainSafari5.1.3(7534.53.10):

    
posta Daniel 22.02.2012 - 00:51
fonte

6 risposte

27

La differenza sono i motori di rendering per le finestre del browser.

Sappiamo che Safari rende il set di caratteri in modo diverso rispetto a Chrome. Ma gli elementi dell'interfaccia utente di Windows (le schede in Chrome) sono a posto. Questo è il nostro più grande indizio.

Gli elementi dell'interfaccia utente della finestra sono probabili (l'enfasi sul probabile, potrebbe non essere corretto qui) tutto il rendering dal sistema operativo. Quindi ottengono il pieno trattamento di espansione emoji a livello di sistema operativo.

Ma ciò che accade all'interno di una finestra del browser Web dipende molto dal browser. I motori di rendering sono una grande parte della salsa segreta di ciascun browser.

Sia Safari che Chrome usano WebKit, ma le somiglianze tra le istanze di WebKit che usano si fermano da qualche parte attorno al nome del motore. Sono entrambi fork dalla versione principale e sono entrambi strongmente personalizzati per migliorare le prestazioni in modo che ogni team di sviluppo del browser ritenga significativo per i loro utenti finali.

@JasonSalaz ha individuato un grosso bug nel database dei bug di Chrome che ci dà l'ultimo indizio che si tratta di forcelle WebKit: link - quel bug sta parlando delle differenze tra la forcella in Chrome e la linea principale di WebKit dal progetto open source. Ci sono differenze di rendering nella linea principale che devono ancora arrivare alla versione che Chrome sta usando. E sembra che abbiano intenzione di unire le modifiche a un certo punto.

Aggiornamento: Paul Irish ha un ottimo post sul blog su come differisce WebKit per tutti i browser che attualmente lo utilizzano . Se vuoi veramente capire quanto sia vario l'ambiente WebKit, questa è una lettura eccellente.

    
risposta data 22.02.2012 - 20:06
fonte
12

Puoi utilizzare l'estensione di Chrome Chromoji . È una soluzione alternativa che sostituirà le emoji con le immagini incorporate nelle pagine web.

    
risposta data 21.03.2013 - 11:56
fonte
2

Il problema è che il browser sta utilizzando una codifica di caratteri diversa da quella del documento che stai visualizzando.

Quindi, come fa il browser a sapere quale codifica dei caratteri usare?

  1. Può essere specificato in HTTP utilizzando l'intestazione Content-Type .
  2. Può essere specificato per il documento HTML utilizzando l'elemento meta .
  3. Può essere specificato per uno specifico elemento HTML utilizzando l'attributo charset .

Se nessuno di questi viene specificato, i diversi browser utilizzano tecniche diverse per indovinare la giusta codifica dei caratteri. Alcuni usano l'euristica. Alcuni consentono all'utente di specificare una codifica dei caratteri. Alcuni selezionano la codifica dei caratteri predefinita del sistema operativo.

Se nessuno di questi viene visualizzato, ottieni il gibberish, noto anche come mojibake.

Quindi, per rispondere alla tua domanda direttamente: Safari e Chrome stanno provando cose diverse per trovare la giusta codifica dei caratteri.

    
risposta data 22.02.2012 - 18:52
fonte
0

Vai alla barra dei menu di Chrome, fai clic su "Altri strumenti" → "Codifica" e scegli un nuovo formato di codifica. Sto usando "Unicode UTF-8", sembra funzionare per me.

    
risposta data 12.04.2016 - 09:32
fonte
-1

Il link è stato contrassegnato come fisso di recente; a partire dalla versione 41, emoji dovrebbe essere visualizzato correttamente in Chrome.

    
risposta data 28.12.2014 - 02:36
fonte
-9

Il simbolo è un personaggio creato da Apple. Safari usa il proprio set di caratteri.

    
risposta data 12.11.2012 - 06:16
fonte

Leggi altre domande sui tag