30 votes

Pourquoi les emoji comme

Pourquoi des emoji comme apparaissent-ils lorsque j'utilise Safari, mais pas Chrome sur le même MacBook exécutant Lion ? Les deux navigateurs utilisent WebKit, et j'imagine que la prise en charge des polices provient du système d'exploitation, et non de l'application.

À titre de référence, voici la page affichée dans Chrome 17.0.963.56 :

Chrome 17.0.963.56

Et voici la page rendue dans Safari 5.1.3 (7534.53.10) :

Safari 5.1.3 (7534.53.10)

9 votes

Je consulte cette page dans Chrome et je ne vois pas le dans la question ou le titre, mais je faire le voir dans le titre de l'onglet en haut de la fenêtre.

0 votes

Je survole rarement les onglets pour voir le titre complet de la page, mais vous avez raison, c'est effectivement le cas. C'est très surprenant.

0 votes

Il se peut que Chrome intègre sa propre palette de caractères, qui pourrait être une version hybride entre la palette native et une palette propriétaire. Il suffit de la mettre à jour pour OS X. Mais je sais que les emoji ne sont pas seulement une question de type de police (on ne peut pas porter les emoji sur SL par exemple en installant simplement la police correspondante). Ils ne se limitent donc pas à la lecture d'un nouveau type de police. Je déposerais un bogue auprès de Google. Ou demander une assistance complète.

27voto

shsteimer Points 8749

La différence réside dans les moteurs de rendu du navigateur Windows.

Nous savons que Safari rend le jeu de caractères différemment de Chrome. Mais les éléments de l'interface utilisateur de Window (les onglets dans Chrome) sont corrects. C'est notre plus gros indice.

Les éléments de l'interface utilisateur de la fenêtre sont probablement (l'accent est mis sur la probabilité, je peux me tromper) tous rendus par le système d'exploitation. Ils bénéficient donc du traitement complet de l'expansion des emojis au niveau du système d'exploitation.

Mais ce qui se passe à l'intérieur de la fenêtre d'un navigateur web est très dépendant du navigateur. Les moteurs de rendu constituent une grande partie de la sauce secrète de chaque navigateur.

Safari et Chrome utilisent tous deux WebKit, mais les similitudes entre les instances WebKit qu'ils utilisent s'arrêtent quelque part autour du nom du moteur. Ce sont toutes deux des bifurcations de la version principale et elles sont toutes deux fortement personnalisées pour améliorer les performances d'une manière que l'équipe de développement de chaque navigateur juge significative pour ses utilisateurs finaux.

@JasonSalaz a trouvé un excellent bug dans la base de données des bugs de Chrome qui nous donne l'indice final que c'est dû aux bifurcations de WebKit : http://code.google.com/p/chromium/issues/detail?id=90177 -- ce bogue parle des différences entre le fork dans Chrome et la ligne principale de WebKit du projet open source. Il existe des différences de rendu dans la version principale qui n'ont pas encore été intégrées dans la version utilisée par Chrome. Et il semble qu'ils aient l'intention de fusionner les changements à un moment donné.

Mise à jour : Paul Irish a un excellent article de blog sur la façon dont WebKit diffère pour tous ces navigateurs qui l'utilisent actuellement . Si vous voulez vraiment comprendre à quel point l'environnement WebKit est diversifié, c'est une excellente lecture.

0 votes

Argh. J'aurais dû faire des captures d'écran. Mais bon...

0 votes

Le ticket de bogue de Chromium concernant la prise en charge des Emoji est celui-ci : crbug.com/62435 Celui que vous avez mis en lien est un doublon.

0 votes

Pour mémoire : Il est toujours cassé dans Chrome 20.0.1132.57.

12voto

Steffi Points 401

Vous pouvez utiliser l'extension Chrome Chromoji . Il s'agit d'une solution de contournement qui permet de remplacer les emoji par des images intégrées dans les pages Web.

2 votes

Cela fonctionne parfaitement, du moins pour Twitter, ne supprimez pas la réponse.

2voto

james.garriss Points 1833

Le problème est que votre navigateur utilise un codage de caractères différent de celui du document que vous consultez.

Alors comment le navigateur sait-il quel encodage de caractères utiliser ?

  1. Il peut être spécifié dans HTTP en utilisant l'option Content-Type en-tête.
  2. Il peut être spécifié pour le document HTML à l'aide de la balise meta élément.
  3. Il peut être spécifié pour un élément HTML spécifique à l'aide de la balise charset attribut.

Si aucun de ces éléments n'est spécifié, les différents navigateurs utilisent différentes techniques pour deviner le bon codage des caractères. Certains utilisent une méthode heuristique. Certains permettent à l'utilisateur de spécifier un codage de caractères. Certains sélectionnent le codage de caractères par défaut du système d'exploitation.

Si rien de tout cela ne fonctionne, vous obtenez le charabia, également connu sous le nom de mojibake.

Donc, pour répondre directement à votre question : Safari et Chrome essaient des choses différentes pour trouver le bon encodage de caractères.

3 votes

Affichage -> Encodage du texte dans Safari indique "Défaut". Affichage -> Encodage dans Chrome indique "UTF-8". Les préférences de Safari indiquent que l'encodage par défaut est Western (ISO Latin 1). Si je change l'encodage dans Chrome pour Western (ISO-8859-1), Western (Windows-1252) ou Western (Macintosh), je ne vois toujours pas les emoji corrects, mais je vois du charabia à la place de l'espace vide. Je ne pense pas que ce soit aussi simple que l'encodage des caractères. Je pense qu'il y a des différences de rendu. (suite...)

1 votes

(Cela expliquerait que la barre de titre affiche l'emoji (le texte est probablement rendu par le moteur de rendu d'OS X puisqu'il s'agit d'un élément graphique sur une fenêtre) et que le corps de la page soit rendu par le moteur de rendu de Chrome.

1 votes

@IanC. La réponse est probablement valable si vous la développez un peu. mors plus. Chrome utilise WebKit, mais sinon aucune des classes d'ObjC/Cocoa qui supportent nativement les emoji. Il s'agit après tout de la fonctionnalité n°1 de Chrome, la rapidité, qui n'est invariablement obtenue qu'avec une solution personnalisée. Donc, Chrome devrait soit écrire explicitement le support des emoji, soit arrêter de faire ce qui fait que les gens le préfèrent à Safari et à d'autres navigateurs. (Devinez ce qui est le plus probable).

0voto

Jayanth Kumar Points 1

Allez dans la barre de menu de Chrome, cliquez sur "Autres outils" "Encodage" et choisissez un nouveau format d'encodage. J'utilise "Unicode UTF-8", cela semble fonctionner pour moi.

-1voto

thakis Points 239

https://code.google.com/p/chromium/issues/detail?id=62435 a été marqué corrigé récemment ; à partir de la version 41, les emoji devraient s'afficher correctement dans Chrome.

1 votes

Bien qu'utile, ce n'est pas vraiment une réponse. Il n'explique pas pourquoi cela se produisait. Il est préférable de laisser ce commentaire en tant que tel.

0 votes

Cela s'est produit parce que la prise en charge des emojis n'a pas été mise en œuvre. La question n'aura donc plus de sens une fois que m41 sera sur stable.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X