ปัญหาเกี่ยวกับสัญลักษณ์ Unicode ในบางแอปพลิเคชันที่ทำงานใน Terminal.app และ iTerm2


10
Darwin DeoGloria 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun  3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64

บัญชีผู้ใช้ใหม่ Terminal.app และ iTerm2 พร้อมชุด UTF-8 อักขระที่เน้นเสียงทำงานได้ดีในแอปพลิเคชันทั้งหมด ("å, ä, ö, é") แต่ตัวอักษร unicode บางตัว (wide?) ไม่แสดงในแอ็พพลิเคชันบรรทัดคำสั่ง ฉันค้นพบครั้งแรกใน weechat แต่ใน bash shell มันใช้งานได้ดี

ในสต็อกทุบตี Mavericks:

DeoGloria:~ test$ echo -e "\xE2\x9A\x91"

คัดลอกและวางถ่านธงด้วยเมาส์

DeoGloria:~ test$ 
-bash: ⚑: command not found

bash ทำงานตามที่คาดไว้ การเริ่มต้น zsh ไม่ได้กำหนดค่าไว้

DeoGloria:~ test$ zsh
DeoGloria:~ test$ echo -e "\xE2\x9A\x91"

แสดงไม่เป็นไร แต่ไม่เมื่อฉันวาง:

DeoGloria% <2691>
zsh: command not found: \u2691

การตั้งค่าสถานที่:

DeoGloria% locale
LANG="sv_SE.UTF-8"
LC_COLLATE="sv_SE.UTF-8"
LC_CTYPE="sv_SE.UTF-8"
LC_MESSAGES="sv_SE.UTF-8"
LC_MONETARY="sv_SE.UTF-8"
LC_NUMERIC="sv_SE.UTF-8"
LC_TIME="sv_SE.UTF-8"
LC_ALL=

การเริ่มต้น emacs หรือ vi จาก zsh และการวาง "⚑" นั้นใช้ได้ดี มันไม่ทำงานในนาโน ฉันได้รับตัวละครที่ไม่ใช่ภาพ

ฉันสงสัยว่ามีปัญหาบางอย่างกับ ncurses แต่ bash, zsh, nano, emacs เชื่อมโยงกันทั้งหมด

/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)

ฉันไม่มีความคิด ตัวชี้ใด ๆ


คำถามที่คล้ายกันที่นี่ แต่ไม่มีคำตอบที่สมบูรณ์: superuser.com/questions/583031/…
nloveladyallen

คำตอบ:


1

คำถามที่น่าสนใจ! ฉันทำการทดสอบบางอย่างที่ด้านข้างของฉัน

zsh

xXx:~/ $ <2691>                                                                                                                                                                                              
zsh: command not found: \u2691
xXx:~/ $🇧🇸                                                                                                                                                                                                                                                                                         
zsh: command not found: 🇧🇸
xXx:~/ $                                                                                                                                                                                                                                                                                                                                                  
zsh: command not found: 

ฉันได้ทำการทดสอบหลายครั้งกับกระสุนตัวอื่นและผลลัพธ์ไม่เหมือนกัน:

ดวลจุดโทษ

sh-3.2$ 
sh: ⚑: command not found

ทุบตี

ตกลงว่าควรเป็นเช่นเดียวกับsh:

bash-3.2$ 
bash: ⚑: command not found

csh / tcsh

[LeBouc-xXx:~] xXx% \U+2691
⚑: Command not found.

เห็นได้ชัดว่าเชลล์ทั้งหมดไม่ได้ตั้งค่าด้วยตัวเลือกอินพุต / เอาต์พุตเดียวกัน ฉันลองกับ xterm / terminal และ iTerm2 เพื่อดูว่าฉันอาจเป็นปัญหาที่ขึ้นกับซอฟต์แวร์หรือไม่ นั่นเหมือนกันทุกที่

ผมไม่ได้มีเวลาในการค้นหา / อ่านว่า แต่คุณอาจพบว่าข้อมูลที่มีประโยชน์บางอย่างเกี่ยวกับการแก้ไขบรรทัด zsh ที่นี่

หากคุณพบมันให้ฉันทันสมัยฉันยินดีที่จะมีคำตอบสุดท้ายสำหรับคำถามของคุณ

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