คำถามติดแท็ก unicode

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

9
ข้อผิดพลาด“ ค่าสตริงไม่ถูกต้อง” MySQL เมื่อบันทึกสตริงยูนิโค้ดใน Django
ฉันได้รับข้อความแสดงข้อผิดพลาดแปลก ๆ เมื่อพยายามบันทึก first_name, last_name ไปยังโมเดล auth_user ของ Django ตัวอย่างที่ล้มเหลว user = User.object.create_user(username, email, password) user.first_name = u'Rytis' user.last_name = u'Slatkevičius' user.save() >>> Incorrect string value: '\xC4\x8Dius' for column 'last_name' at row 104 user.first_name = u'Валерий' user.last_name = u'Богданов' user.save() >>> Incorrect string value: '\xD0\x92\xD0\xB0\xD0\xBB...' for column 'first_name' at row …
158 python  mysql  django  unicode  utf-8 

3
Python: การใช้. format () บนสตริงที่มี Unicode
ฉันใช้ Python 2.6.5 รหัสของฉันต้องใช้เครื่องหมาย "มากกว่าหรือเท่ากับ" นี่มันไป: >>> s = u'\u2265' >>> print s >>> ≥ >>> print "{0}".format(s) Traceback (most recent call last): File "<input>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode character u'\u2265' in position 0: ordinal not in range(128)` เหตุใดฉันจึงได้รับข้อผิดพลาดนี้ มีวิธีที่ถูกต้องในการทำเช่นนี้? ฉันต้องใช้.format()ฟังก์ชั่น

6
u '\ ufeff' ในสตริง Python
ฉันได้รับข้อผิดพลาดกับลายดังต่อไปนี้: UnicodeEncodeError: 'ascii' codec can't encode character u'\ufeff' in position 155: ordinal not in range(128) ไม่แน่ใจว่าu'\ufeff'เป็นอะไรมันจะปรากฏขึ้นเมื่อฉันขูดเว็บ ฉันจะแก้ไขสถานการณ์ได้อย่างไร .replace()วิธีสตริงไม่ได้ทำงานกับมัน
153 python  unicode  utf-8 

7
“ คู่ตัวแทน” ใน Java คืออะไร?
ผมอ่านเอกสารประกอบการStringBufferโดยเฉพาะอย่างยิ่งย้อนกลับ ()วิธีการ เอกสารที่กล่าวถึงสิ่งที่เกี่ยวกับคู่ตัวแทน คู่ตัวแทนในบริบทนี้คืออะไร? และตัวแทนสำรองต่ำและสูงคืออะไร?

2
ความแตกต่างระหว่างตัวละคร, จุดโค้ด, glyph และกราฟคืออะไร?
การพยายามทำความเข้าใจรายละเอียดปลีกย่อยของ Unicode ที่ทันสมัยทำให้ฉันปวดหัว โดยเฉพาะอย่างยิ่งความแตกต่างระหว่างจุดรหัสอักขระร่ายมนตร์และกราฟิค - แนวคิดซึ่งในกรณีที่ง่ายที่สุดเมื่อจัดการกับข้อความภาษาอังกฤษโดยใช้อักขระ ASCII ทั้งหมดมีความสัมพันธ์แบบหนึ่งต่อหนึ่งซึ่งกันและกันทำให้ฉันเดือดร้อน เมื่อเห็นว่าคำศัพท์เหล่านี้ถูกนำไปใช้ในเอกสารอย่าง Matthias Bynens ' JavaScript มีปัญหา unicodeหรือ Wikipedia เกี่ยวกับการรวมกันของ Hanฉันได้รวบรวมว่าแนวคิดเหล่านี้ไม่เหมือนกันและเป็นอันตรายที่จะทำให้พวกเขาสับสน แต่ฉัน ดิ้นรนที่จะเข้าใจสิ่งที่แต่ละระยะหมายถึง Unicode Consortium มีคำศัพท์เพื่ออธิบายสิ่งนี้ แต่มันเต็มไปด้วย "คำจำกัดความ" ดังนี้: ตัวละครที่เป็นนามธรรม หน่วยของข้อมูลที่ใช้สำหรับองค์กรการควบคุมหรือการแสดงข้อมูลที่เป็นข้อความ ... ... ตัวละคร ... (2) คำพ้องสำหรับอักขระนามธรรม (3) หน่วยพื้นฐานของการเข้ารหัสสำหรับการเข้ารหัสอักขระ Unicode ... ... สัญลักษณ์ (1) รูปแบบนามธรรมที่แสดงภาพสัญลักษณ์หนึ่งภาพขึ้นไป (2) คำพ้องสำหรับรูปภาพสัญลักษณ์ ในการแสดงข้อมูลอักขระ Unicode อาจมีหนึ่งหรือมากกว่าหนึ่งสัญลักษณ์อาจถูกเลือกเพื่อแสดงอักขระเฉพาะ ... อักษร (1) …


13
Python, Unicode และคอนโซล Windows
คุณสามารถซื้อStack Overflow ในสต็อกได้อย่างไร: ดูเพิ่มเติมจากPython เข้าสู่ระบบ Windows-консольстрокувЮникоде? เมื่อฉันพยายามพิมพ์สายอักขระ Unicode ในคอนโซล Windows ฉันได้รับUnicodeEncodeError: 'charmap' codec can't encode character ....ข้อผิดพลาด ฉันถือว่านี่เป็นเพราะคอนโซล Windows ไม่ยอมรับอักขระ Unicode เท่านั้น อะไรคือวิธีที่ดีที่สุดในรอบนี้ มีวิธีใดบ้างที่ฉันจะทำให้ Python พิมพ์ a โดยอัตโนมัติ?แทนที่จะล้มเหลวในสถานการณ์นี้ แก้ไข: ฉันใช้ Python 2.5 หมายเหตุ: @ LasseV.Karlsen คำตอบที่มีเครื่องหมายถูกล้าสมัย (ตั้งแต่ปี 2008) โปรดใช้วิธีแก้ปัญหา / คำตอบ / คำแนะนำด้านล่างด้วยความระมัดระวัง !! @JFSebastian คำตอบมีความเกี่ยวข้องมากขึ้น ณ วันนี้ (6 มกราคม …
146 python  unicode 

4
NameError: ไม่ได้กำหนดชื่อโกลบอล 'unicode' - ใน Python 3
ฉันพยายามใช้แพ็คเกจ Python ชื่อ bidi ในโมดูลในแพ็คเกจนี้ (algorithm.py) มีบางบรรทัดที่ทำให้ฉันมีข้อผิดพลาดแม้ว่าจะเป็นส่วนหนึ่งของแพ็คเกจก็ตาม นี่คือบรรทัด: # utf-8 ? we need unicode if isinstance(unicode_or_str, unicode): text = unicode_or_str decoded = False else: text = unicode_or_str.decode(encoding) decoded = True และนี่คือข้อความแสดงข้อผิดพลาด: Traceback (most recent call last): File "<pyshell#25>", line 1, in <module> bidi_text = get_display(reshaped_text) File "C:\Python33\lib\site-packages\python_bidi-0.3.4-py3.3.egg\bidi\algorithm.py", line 602, in …

8
เหตุใดความยาวของสตริงนี้จึงยาวเกินจำนวนอักขระในนั้น
รหัสนี้: string a = "abc"; string b = "A𠈓C"; Console.WriteLine("Length a = {0}", a.Length); Console.WriteLine("Length b = {0}", b.Length); เอาท์พุท: Length a = 3 Length b = 4 ทำไม? สิ่งเดียวที่ฉันจินตนาการได้คือตัวอักษรจีนมีความยาว 2 ไบต์และ.Lengthวิธีคืนค่าจำนวนไบต์

10
สตริง Python พิมพ์เป็น [u'String ']
Наэтотвопросестьответына กองมากเกินнарусском : покодировкам UTF-8 выдаетрезультатпо-разномуприпечатистрокпоотдельностиисписка целиком สิ่งนี้จะเป็นสิ่งที่ง่าย แต่ก็เป็นสิ่งที่หลอกลวงฉันจริงๆ ฉันมีสคริปต์ที่อ่านในหน้าเว็บและใช้Beautiful Soupเพื่อแยกวิเคราะห์ จากซุปฉันแยกลิงค์ทั้งหมดเป็นเป้าหมายสุดท้ายของฉันคือพิมพ์ลิงค์เนื้อหา ข้อความทั้งหมดที่ฉันกำลังวิเคราะห์คือ ASCII ฉันรู้ว่า Python ปฏิบัติกับสตริงเป็นยูนิโค้ดและฉันมั่นใจว่านี่เป็นประโยชน์อย่างมากโดยไม่ต้องใช้ในสคริปต์ของฉัน ทุกครั้งที่ฉันไปพิมพ์ตัวแปรที่มี 'String' ฉันจะ[u'String']พิมพ์ไปที่หน้าจอ มีวิธีง่ายๆในการทำให้มันกลับมาเป็นเพียง ascii หรือฉันควรเขียน regex เพื่อดึงมัน?
142 python  unicode  ascii 

8
ฉันสามารถทำให้ git รู้จักไฟล์ UTF-16 เป็นข้อความได้หรือไม่?
ฉันกำลังติดตามไฟล์เครื่องเสมือนพีซีเสมือน (* .vmc) ในคอมไพล์และหลังจากทำการเปลี่ยนแปลงคอมไพล์ระบุว่าไฟล์เป็นไบนารีและจะไม่แตกต่างกันสำหรับฉัน ฉันค้นพบว่าไฟล์ถูกเข้ารหัสใน UTF-16 สามารถสอนให้คอมไพล์ยอมรับว่าไฟล์นี้เป็นข้อความและจัดการได้อย่างเหมาะสมหรือไม่? ฉันใช้คอมไพล์ภายใต้ Cygwin โดยมี core.autocrlf ตั้งค่าเป็นเท็จ ฉันสามารถใช้ mSysGit หรือ git ภายใต้ UNIX หากจำเป็น

6
ทำไมไพ ธ อนพิมพ์อักขระยูนิโค้ดเมื่อการเข้ารหัสเริ่มต้นคือ ASCII
จาก Python 2.6 shell: >>> import sys >>> print sys.getdefaultencoding() ascii >>> print u'\xe9' é >>> ฉันคาดว่าจะมีความพูดไม่ชัดหรือข้อผิดพลาดหลังจากคำสั่งพิมพ์เนื่องจากตัวอักษร "é" ไม่ได้เป็นส่วนหนึ่งของ ASCII และฉันไม่ได้ระบุการเข้ารหัส ฉันเดาว่าฉันไม่เข้าใจว่า ASCII หมายถึงการเข้ารหัสเริ่มต้นหมายความว่าอย่างไร แก้ไข ฉันย้ายการแก้ไขไปยังส่วนคำตอบและยอมรับตามที่แนะนำ

5
ความแตกต่างระหว่าง UTF-8 และ UTF-16 หรือไม่
ความแตกต่างระหว่าง UTF-8 และ UTF-16 หรือไม่ ทำไมเราต้องการสิ่งเหล่านี้ MessageDigest md = MessageDigest.getInstance("SHA-256"); String text = "This is some text"; md.update(text.getBytes("UTF-8")); // Change this to "UTF-16" if needed byte[] digest = md.digest();
137 java  unicode  utf-8  utf-16  utf 

4
แทรกอักขระ Unicode ลงใน JavaScript
ฉันต้องการใส่ Omega (Ω) ลงในหน้า html ของฉัน ฉันใช้โค้ดหนี HTML เพื่อทำเช่นนั้นฉันจึงสามารถเขียนΩและรับΩได้ นั่นคือทั้งหมดที่ดีและเมื่อฉันใส่ลงในองค์ประกอบ HTML อย่างไรก็ตามเมื่อฉันพยายามใส่ลงใน JS ของฉันเช่นvar Omega = Ωมันจะแยกวิเคราะห์รหัสนั้นเป็น JS และทุกอย่างไม่ทำงาน ใครรู้วิธีไปเกี่ยวกับเรื่องนี้
137 javascript  html  unicode 

7
อักขระ Unicode ใน URL
ในปี 2010 คุณจะให้บริการ URL ที่มีอักขระ UTF-8 ในเว็บพอร์ทัลขนาดใหญ่หรือไม่ ห้ามใช้อักขระ Unicode ตาม RFC บน URL (ดูที่นี่ ) พวกเขาจะต้องเข้ารหัสเปอร์เซ็นต์เพื่อให้เป็นไปตามมาตรฐาน แม้ว่าประเด็นหลักของฉันคือให้บริการอักขระที่ไม่ได้เข้ารหัสเพื่อจุดประสงค์เดียวในการมี URL ที่ดูดีดังนั้นการเข้ารหัสเปอร์เซ็นต์จึงไม่อยู่ ดูเหมือนว่าเบราว์เซอร์หลักทั้งหมดจะแยกวิเคราะห์ URL เหล่านั้นได้ไม่ว่า RFC จะพูดอะไรก็ตาม อย่างไรก็ตามความประทับใจโดยทั่วไปของฉันคือมันสั่นคลอนมากเมื่อออกจากโดเมนของเว็บเบราว์เซอร์: URL รับการคัดลอก + วางลงในไฟล์ข้อความอีเมลหรือแม้แต่เว็บไซต์ที่มีการเข้ารหัสที่แตกต่างกัน ไลบรารีไคลเอ็นต์ HTTP เบราว์เซอร์แปลกใหม่โปรแกรมอ่าน RSS ความประทับใจของฉันถูกต้องหรือไม่ที่คาดว่าจะเกิดปัญหาที่นี่และด้วยเหตุนี้จึงไม่ใช่วิธีแก้ปัญหาที่ใช้ได้จริง (แต่) หากคุณให้บริการผู้ชมที่ไม่ใช่ด้านเทคนิคและสิ่งสำคัญคือลิงก์ทั้งหมดของคุณจะทำงานได้อย่างถูกต้องแม้ว่าจะมีการอ้างถึงและส่งต่อก็ตาม มีวิธีวิเศษในการให้บริการ URL ที่ดูดีใน HTML หรือไม่ http://www.example.com/düsseldorf?neighbourhood=Lörick ที่สามารถคัดลอก + วางด้วยอักขระพิเศษเหมือนเดิม แต่ทำงานได้อย่างถูกต้องเมื่อนำมาใช้ซ้ำในไคลเอนต์รุ่นเก่า?
136 html  url  unicode  utf-8 

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