ทำไมอีโมจิเช่น💩ปรากฏเมื่อฉันใช้ Safari แต่ไม่ใช่ Chrome


30

ทำไมอิโมจิเช่น like ปรากฏขึ้นเมื่อฉันใช้ Safari แต่ไม่ใช่ Chrome ใน MacBook ที่ใช้ Lion ตัวเดียวกัน เบราว์เซอร์ทั้งสองใช้ WebKit และฉันคิดว่าการสนับสนุนแบบอักษรมาจากระบบปฏิบัติการไม่ใช่แอปพลิเคชัน

สำหรับวัตถุประสงค์ในการอ้างอิงนี่คือหน้าที่แสดงผลใน Chrome 17.0.963.56:

Chrome 17.0.963.56

และนี่คือหน้าที่แสดงผลใน Safari 5.1.3 (7534.53.10):

Safari 5.1.3 (7534.53.10)


9
ผมดูใน Chrome และฉันไม่เห็น💩ในคำถามหรือชื่อ แต่ผมไม่เห็นมันในชื่อแท็บบนหน้าต่าง
CajunLuke

ฉันไม่ค่อยได้เลื่อนเมาส์ไปที่แท็บเพื่อดูชื่อหน้าเต็ม แต่คุณพูดถูก ช่างน่าประหลาดใจมาก
Jason Salaz

อาจเป็นได้ว่าปลั๊กอินของ Chrome เป็นชุดตัวอักษรของตัวเองซึ่งอาจเป็นรุ่นไฮบริดระหว่างรุ่นเนทีฟและแบบที่เป็นกรรมสิทธิ์ และพวกเขาเพียงแค่ต้องอัปเดตสำหรับ OS X แต่ฉันรู้ว่าอีโมจิไม่ได้เป็นเพียงแค่แบบอักษร (คุณไม่สามารถย้ายอีโมจิไปยัง SL ได้โดยเพียงแค่ติดตั้งฟอนต์ที่เกี่ยวข้อง) ดังนั้นจึงมีพวกเขามากกว่าเพียงแค่อ่านแบบอักษรใหม่ ฉันจะยื่นข้อบกพร่องกับ Google หรือขอการสนับสนุนอย่างเต็มที่

14
เนื่องจากผู้เข้าชมที่ใช้ Chrome จะมีเวลาอ่านชื่อเรื่องยากฉันจึงลงคะแนนให้เปลี่ยนชื่อเป็น "ฉันจะสร้าง turds บน Google Chrome ได้อย่างไร"
เจอร์รี่

@cksum ฉันเปลี่ยนชื่อกลับเป็นเพราะเป็นข้อมูลที่เกี่ยวข้องในคำถาม
Jason Salaz

คำตอบ:


27

ข้อแตกต่างคือเอ็นจิ้นการเรนเดอร์สำหรับหน้าต่างเบราว์เซอร์

เรารู้ว่า Safari ทำให้ชุดอักขระแตกต่างจาก Chrome แต่องค์ประกอบ Window UI (แท็บใน Chrome) ก็โอเค นั่นเป็นเงื่อนงำที่ยิ่งใหญ่ที่สุดของเรา

มีแนวโน้มว่าองค์ประกอบ UI ของหน้าต่าง (เน้นที่โอกาสที่เป็นไปได้ฉันอาจไม่ถูกต้องที่นี่) ทั้งหมดที่แสดงผลโดยระบบปฏิบัติการ ดังนั้นพวกเขาจึงได้รับการรักษาด้วยการขยายอิโมจิระดับเต็มรูปแบบ

แต่สิ่งที่เกิดขึ้นภายในหน้าต่างเว็บเบราว์เซอร์นั้นขึ้นอยู่กับเบราว์เซอร์เป็นอย่างมาก เอ็นจิ้นการเรนเดอร์เป็นส่วนสำคัญของซีเคร็ตลับของเบราว์เซอร์แต่ละตัว

ทั้ง Safari และ Chrome ใช้ WebKit แต่ความคล้ายคลึงกันระหว่างอินสแตนซ์ WebKit ที่พวกเขาใช้จะหยุดที่ใดที่หนึ่งรอบ ๆ ชื่อของเอ็นจิ้น ทั้งคู่แยกจากเวอร์ชันหลักและทั้งคู่ต่างก็ปรับแต่งอย่างหนักเพื่อปรับปรุงประสิทธิภาพในแบบที่ทีมพัฒนาเบราว์เซอร์แต่ละคนคิดว่ามีความหมายสำหรับผู้ใช้ปลายทาง

@JasonSalaz พบข้อผิดพลาดที่ยอดเยี่ยมในฐานข้อมูลข้อผิดพลาดของ Chrome ที่ให้เบาะแสสุดท้ายที่เราลงไปถึง WebKit forks: http://code.google.com/p/chromium/issues/detail?id=90177นั่นคือข้อบกพร่องนั้น พูดคุยเกี่ยวกับความแตกต่างระหว่าง fork ใน Chrome และ mainline ของ WebKit จากโครงการโอเพ่นซอร์ส มีความแตกต่างในการแสดงผลในการฉีดที่ยังไม่ได้ใช้ในรุ่นที่ Chrome ใช้อยู่ และดูเหมือนว่าพวกเขาตั้งใจจะรวมการเปลี่ยนแปลงในบางจุด

ปรับปรุง: พอลไอริชมีการโพสต์บล็อกที่ดีเกี่ยวกับวิธีการที่แตกต่าง WebKit เบราว์เซอร์ทั้งหมดเหล่านี้ว่าขณะนี้ใช้งานได้ หากคุณต้องการที่จะเข้าใจจริงๆว่าสภาพแวดล้อม WebKit นั้นมีความหลากหลายเพียงใดนี่คือการอ่านที่ยอดเยี่ยม


โอ๊ะ ควรคว้าภาพหน้าจอมาบ้าง โอ้ดี ...
เอียนซี

การสนับสนุนข้อบกพร่องตั๋ว Chromium การสนับสนุน Emoji คืออันนี้: crbug.com/62435สิ่งที่คุณเชื่อมโยงไปนั้นซ้ำกัน
งัด Bynens

สำหรับบันทึก: ยังใช้งานไม่ได้ใน Chrome 20.0.1132.57

โอ้เยี่ยมมากตามความคิดเห็นที่ 17 ในรายงานข้อผิดพลาดปัญหานี้ถูกปิด หากใครต้องการที่จะบ่นอีกครั้งคุณจะต้องยื่นรายงานข้อผิดพลาดใหม่
gentmatt

1
สามารถใช้งานได้ตั้งแต่ Chrome 41! 🚀🚀🚀🚀🚀🚀🚀
yincrash

12

คุณสามารถใช้ส่วนขยายของ Chrome Chromoji มันเป็นวิธีแก้ปัญหาที่จะแทนที่อิโมจิด้วยภาพที่ฝังอยู่ในหน้าเว็บ


2
ใช้งานได้ดีสำหรับ Twitter อย่างน้อยอย่าลบคำตอบ
MarcusJ

2

ปัญหาคือเบราว์เซอร์ของคุณใช้การเข้ารหัสอักขระที่แตกต่างจากของเอกสารที่คุณกำลังดู

ดังนั้นเบราว์เซอร์จะรู้ได้อย่างไรว่าจะใช้การเข้ารหัสอักขระใด

  1. สามารถระบุได้ใน HTTP โดยใช้Content-Typeส่วนหัว
  2. สามารถระบุได้สำหรับเอกสาร HTML โดยใช้metaองค์ประกอบ
  3. สามารถระบุได้สำหรับองค์ประกอบ HTML เฉพาะโดยใช้charsetแอตทริบิวต์

หากไม่ได้ระบุสิ่งเหล่านี้เบราว์เซอร์ที่แตกต่างกันจะใช้เทคนิคที่แตกต่างกันเพื่อเดาการเข้ารหัสอักขระที่ถูกต้อง ฮิวริสติกบางคนใช้ บางตัวอนุญาตให้ผู้ใช้ระบุการเข้ารหัสอักขระ บางคนเลือกการเข้ารหัสอักขระเริ่มต้นของระบบปฏิบัติการ

หากไม่มีสิ่งเหล่านี้ทะเลาะกันคุณจะได้ความซึ่งพูดพล่อยๆหรือที่เรียกว่าโมจิเบค

ดังนั้นเพื่อตอบคำถามของคุณโดยตรง: Safari และ Chrome กำลังลองสิ่งต่าง ๆ เพื่อค้นหาการเข้ารหัสอักขระที่ถูกต้อง


3
ดู -> การเข้ารหัสข้อความใน Safari ระบุว่า 'ค่าเริ่มต้น' ดู -> การเข้ารหัสใน Chrome ระบุว่า 'UTF-8' Safari prefs กล่าวว่าการเข้ารหัสเริ่มต้นคือ Western (ISO Latin 1) หากฉันเปลี่ยนการเข้ารหัสใน Chrome เป็น Western (ISO-8859-1), Western (Windows-1252) หรือ Western (Macintosh) ฉันยังไม่เห็นอิโมจิที่ถูกต้อง แต่ฉันเห็นคำพูดไร้สาระแทนพื้นที่ว่างเปล่า ฉันไม่คิดว่ามันง่ายเหมือนการเข้ารหัสตัวอักษร ฉันสงสัยว่ามีความแตกต่างในการเรนเดอร์ (ต่อ ... )
เอียนซี

1
(ต่อจากด้านบน) นั่นจะอธิบายถึงแถบชื่อเรื่องที่แสดงอิโมจิ (ข้อความน่าจะถูกเรนเดอร์โดย OS X ของเครื่องมือการเรนเดอร์เนื่องจากเป็นองค์ประกอบกราฟิกบนหน้าต่าง) และเนื้อหาของหน้านั้น
Ian C.

1
@IanC ว่าอาจจะเป็นคำตอบที่คุ้มค่าถ้าคุณขยายมันเป็นเพียงแค่บิตมากขึ้น Chrome ใช้ WebKit แต่ไม่ใช้คลาสของ ObjC / Cocoa ที่สนับสนุน emoji นั่นคือหลังจากคุณสมบัติ # 1 ทั้งหมดของ Chrome ชั่วร้ายอย่างรวดเร็วซึ่งทำได้อย่างคงที่ด้วยโซลูชันที่กำหนดเองเท่านั้น ดังนั้น Chrome จะต้องเขียนสนับสนุน emoji อย่างชัดเจนหรือหยุดทำสิ่งที่ทำให้ผู้คนชอบมากกว่า Safari และเบราว์เซอร์อื่น ๆ (ลองเดาดูว่าอันไหนน่าจะเป็นของใคร)
Jason Salaz

1
สะดุดกับสิ่งนี้: code.google.com/p/chromium/issues/detail?id=90177
Jason Salaz

@ JasonSalaz จับดีกับรายงานข้อผิดพลาดที่ นั่นคือชิ้นสุดท้าย เขียนคำตอบ!
Ian C.

0

ไปที่แถบเมนู Chrome คลิกที่ "เครื่องมือเพิ่มเติม" → "การเข้ารหัส" และเลือกรูปแบบการเข้ารหัสใหม่ ฉันใช้ "Unicode UTF-8" ดูเหมือนว่าจะใช้งานได้สำหรับฉัน


-1

https://code.google.com/p/chromium/issues/detail?id=62435ถูกทำเครื่องหมายว่าแก้ไขแล้วเมื่อเร็ว ๆ นี้ การเริ่มต้นในอีโมจิรุ่น 41 ควรแสดงผลได้ดีใน Chrome


1
ในขณะที่มีประโยชน์นี่ไม่ใช่คำตอบจริงๆ มันไม่ได้อธิบายว่าทำไมมันจึงเกิดขึ้น นี่คือซ้ายดีกว่าเป็นความคิดเห็น IMO
เอียนซี

มันเกิดขึ้นเพราะไม่มีการสนับสนุนอิโมจิ ดังนั้นคำถามจะไม่สมเหตุสมผลเมื่อ m41 เสถียร
thakis

-9

สัญลักษณ์เป็นตัวละครที่สร้างขึ้นโดย Apple Safari ใช้ชุดอักขระของตัวเอง


5
อันที่จริง "pile of poo" เป็นอักขระมาตรฐานสากลใน Unicode - สัญลักษณ์ 1F4A9 และแม้แต่ Apple ก็ไม่เจาะจงแม้แต่สิ่งที่พิเศษสำหรับ Safari ดูรายการ Wikipedia บน EmojiและPDF นี้สำหรับรายละเอียด
bmike

2
ในขณะที่ตัวละครนั้นไม่ได้เป็นเอกลักษณ์ของ Apple แต่สีก็คือ ฉันไม่รู้ตัวอักษรสีอื่น ๆ ที่มีอยู่จนถึงตอนนี้และฉันคิดว่า Apple สร้างมาตรฐานของตัวเองสำหรับการทำมัน (ตาราง sbix ที่เป็นกรรมสิทธิ์) แอพต่าง ๆ จะไม่รู้จักแบบอักษรนี้ แต่จะแสดงจากแบบอักษรขาวดำแบบ Symbola
Tom Gewecke

1
ป.ล. เนื่องจากมีบางสิ่งที่ "เอกลักษณ์ของ Apple" เกี่ยวกับแบบอักษรนี้ฉันคิดว่าคำตอบนี้ไม่ไกลเท่าที่คะแนนลบอาจแนะนำ
Tom Gewecke

@ TomGewecke ได้ดี "Safari ใช้ชุดอักขระของตัวเอง" เป็นเท็จเพียง ดังนั้นฉันจึงคิดว่าคะแนนลบจะได้รับ
jbg
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.