คำถามติดแท็ก utf-8

UTF-8 เป็นการเข้ารหัสอักขระที่อธิบายจุดโค้ด Unicode แต่ละจุดโดยใช้ลำดับไบต์หนึ่งถึงสี่ไบต์ มันเข้ากันได้ย้อนหลังกับ ASCII ในขณะที่ยังรองรับการแสดงจุดรหัส 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 

11
“ ’” แสดงบนหน้าแทนที่จะเป็น“ '”
’'มีการแสดงบนหน้าเว็บของฉันแทน ฉันContent-Typeตั้งค่าเป็นUTF-8ทั้งใน<head>แท็กและส่วนหัว HTTP ของฉัน: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> นอกจากนี้เบราว์เซอร์ของฉันถูกตั้งค่าเป็นUnicode (UTF-8): ปัญหาคืออะไรและฉันจะแก้ไขได้อย่างไร
133 encoding  utf-8  mojibake 



5
ทำไมประกาศ Unicode ด้วยสตริงใน python
ฉันยังเรียน python อยู่และมีข้อสงสัย: ใน python 2.6.x ฉันมักจะประกาศการเข้ารหัสในส่วนหัวของไฟล์เช่นนี้ (เช่นเดียวกับในPEP 0263 ) # -*- coding: utf-8 -*- หลังจากนั้นสตริงของฉันจะถูกเขียนตามปกติ: a = "A normal string without declared Unicode" แต่ทุกครั้งที่ฉันเห็นรหัสโครงการ python การเข้ารหัสจะไม่ถูกประกาศที่ส่วนหัว แต่จะมีการประกาศทุกสตริงดังนี้: a = u"A string with declared Unicode" อะไรคือความแตกต่าง? จุดประสงค์ของสิ่งนี้คืออะไร? ฉันรู้ว่า Python 2.6.x ตั้งค่าการเข้ารหัส ASCII ตามค่าเริ่มต้น แต่สามารถลบล้างได้ด้วยการประกาศส่วนหัวดังนั้นจุดของการประกาศต่อสตริงคืออะไร? ภาคผนวก:ดูเหมือนว่าฉันผสมการเข้ารหัสไฟล์กับการเข้ารหัสสตริง ขอบคุณที่อธิบาย :)
122 python  encoding  utf-8 

11
Outlook ทำความสะอาดบรรทัดของฉันโดยอัตโนมัติและทำให้รูปแบบอีเมลของฉันแย่ลง
ฉันกำลังส่งอีเมลโดยใช้ dotnet framework นี่คือเทมเพลตที่ฉันใช้สร้างข้อความ: Date of Hire: %HireDate% Annual Salary: %AnnualIncome% Reason for Request: %ReasonForRequest% Name of Voluntary Employee: %FirstName% %LastName% Total Coverage Applied For: %EECoverageAmount% Guaranteed Coverage Portion: %GICoveragePortion% Amount Subject to Medical Evident: %GIOverage% เมื่อได้รับข้อความใน Outlook Outlook จะบอกฉันว่า "มีการลบบรรทัดพิเศษในข้อความนี้ออก" และข้อความจะแสดงดังนี้: Date of Hire: 9/28/2001 Annual Salary: $100,000 Reason …
119 .net  utf-8  outlook  smtp 


2
ฉันควรใช้การประกาศการเข้ารหัสใน Python 3 หรือไม่
Python 3 ใช้การเข้ารหัส UTF-8 สำหรับไฟล์ซอร์สโค้ดตามค่าเริ่มต้น ฉันควรใช้การประกาศการเข้ารหัสที่จุดเริ่มต้นของไฟล์ต้นฉบับทุกไฟล์หรือไม่ ชอบ# -*- coding: utf-8 -*-

12
คำเตือน“ อักขระที่ไม่สามารถใช้งานได้สำหรับการเข้ารหัส” ใน Java
ฉันกำลังทำงานกับโปรเจ็กต์ Java ที่ส่งเสียงเตือนต่อไปนี้เมื่อฉันคอมไพล์: /src/com/myco/apps/AppDBCore.java:439: warning: unmappable character for encoding UTF8 [javac] String copyright = "� 2003-2008 My Company. All rights reserved."; ฉันไม่แน่ใจว่า SO จะแสดงอักขระก่อนวันที่อย่างไร แต่ควรเป็นสัญลักษณ์ลิขสิทธิ์และแสดงในคำเตือนเป็นเครื่องหมายคำถามในรูปเพชร เป็นที่น่าสังเกตว่าอักขระปรากฏในสิ่งประดิษฐ์เอาต์พุตอย่างถูกต้อง แต่คำเตือนนั้นสร้างความรำคาญและวันหนึ่งไฟล์ที่มีคลาสนี้อาจถูกสัมผัสโดยโปรแกรมแก้ไขข้อความที่บันทึกการเข้ารหัสอย่างไม่ถูกต้อง ... ฉันจะฉีดอักขระนี้ลงในสตริง "ลิขสิทธิ์" ได้อย่างไรเพื่อให้คอมไพเลอร์พอใจและสัญลักษณ์จะถูกเก็บรักษาไว้ในไฟล์โดยไม่มีปัญหาในการเข้ารหัสซ้ำ
113 java  encoding  utf-8  ascii 

4
การทำให้วัตถุเป็นอนุกรมเป็น UTF-8 XML ใน. NET
การกำจัดวัตถุอย่างเหมาะสมถูกลบออกเพื่อความกะทัดรัด แต่ฉันตกใจถ้านี่เป็นวิธีที่ง่ายที่สุดในการเข้ารหัสวัตถุเป็น UTF-8 ในหน่วยความจำ จะต้องมีวิธีที่ง่ายกว่านี้ไม่ใช่หรือ? var serializer = new XmlSerializer(typeof(SomeSerializableObject)); var memoryStream = new MemoryStream(); var streamWriter = new StreamWriter(memoryStream, System.Text.Encoding.UTF8); serializer.Serialize(streamWriter, entry); memoryStream.Seek(0, SeekOrigin.Begin); var streamReader = new StreamReader(memoryStream, System.Text.Encoding.UTF8); var utf8EncodedXml = streamReader.ReadToEnd();

8
ตั้งชื่อ utf8 ใน MySQL?
ฉันมักจะเห็นสิ่งที่คล้ายกับสิ่งนี้ด้านล่างในสคริปต์ PHP โดยใช้ MySQL query("SET NAMES utf8"); ฉันไม่เคยต้องทำสิ่งนี้สำหรับโครงการใด ๆ เลยดังนั้นฉันจึงมีคำถามพื้นฐานสองสามข้อเกี่ยวกับเรื่องนี้ นี่เป็นสิ่งที่ทำกับ PDO เท่านั้นหรือไม่? ถ้าไม่ใช่เรื่องเฉพาะของ PDO แล้วจุดประสงค์ของการทำคืออะไร? ฉันรู้ว่ามันกำลังตั้งค่าการเข้ารหัสสำหรับ mysql แต่ฉันหมายความว่าฉันไม่เคยต้องใช้มันเลยทำไมฉันถึงต้องการใช้มัน?
110 php  mysql  utf-8 

6
ฉันจะส่งออก UTF-8 จาก Perl ได้อย่างไร
ฉันพยายามเขียนสคริปต์ Perl โดยใช้ pragma "utf8" และได้ผลลัพธ์ที่ไม่คาดคิด ฉันใช้ Mac OS X 10.5 (Leopard) และกำลังแก้ไขด้วย TextMate การตั้งค่าทั้งหมดของฉันสำหรับทั้งตัวแก้ไขและระบบปฏิบัติการของฉันเป็นค่าเริ่มต้นในการเขียนไฟล์ในรูปแบบ utf-8 อย่างไรก็ตามเมื่อฉันป้อนสิ่งต่อไปนี้ลงในไฟล์ข้อความบันทึกเป็น ".pl" และดำเนินการฉันได้รับ "เพชรที่มีเครื่องหมายคำถาม" ที่เป็นมิตรแทนอักขระที่ไม่ใช่ ASCII #!/usr/bin/env perl -w use strict; use utf8; my $str = 'Çirçös'; print( "$str\n" ); มีความคิดว่าฉันทำอะไรผิดหรือเปล่า? ฉันคาดหวังว่าจะได้ 'Çirçös' ในผลลัพธ์ แต่ฉันได้ ' ir s' แทน
110 perl  unicode  utf-8 

3
UTF-8“ การเข้ารหัสความกว้างตัวแปร” ทำงานอย่างไร
มาตรฐาน Unicode มีจุดรหัสเพียงพอที่คุณต้องใช้ 4 ไบต์ในการจัดเก็บทั้งหมด นั่นคือสิ่งที่การเข้ารหัส UTF-32 ทำ แต่การเข้ารหัส UTF-8 ก็บีบให้สิ่งเหล่านี้มีช่องว่างเล็กลงมากโดยใช้สิ่งที่เรียกว่า "การเข้ารหัสความกว้างตัวแปร" ในความเป็นจริงมันสามารถแทนอักขระ 127 ตัวแรกของ US-ASCII ได้เพียงหนึ่งไบต์ซึ่งดูเหมือน ASCII จริงดังนั้นคุณสามารถตีความข้อความ ascii จำนวนมากราวกับว่าเป็น UTF-8 โดยไม่ต้องทำอะไรเลย เคล็ดลับเรียบร้อย แล้วมันทำงานอย่างไร? ฉันจะถามและตอบคำถามของตัวเองที่นี่เพราะฉันเพิ่งอ่านไปพอสมควรและฉันคิดว่ามันอาจช่วยคนอื่นได้บ้าง นอกจากนี้อาจมีใครแก้ไขฉันได้ถ้าฉันทำผิด

2
การเปลี่ยนการเข้ารหัสเอาต์พุตเริ่มต้นของ PowerShell เป็น UTF-8
ตามค่าเริ่มต้นเมื่อคุณเปลี่ยนเส้นทางผลลัพธ์ของคำสั่งไปยังไฟล์หรือไพพ์ไปยังอย่างอื่นใน PowerShell การเข้ารหัสจะเป็น UTF-16 ซึ่งไม่มีประโยชน์ ฉันต้องการเปลี่ยนเป็น UTF-8 สามารถทำได้เป็นกรณี ๆ ไปโดยการแทนที่>foo.txtไวยากรณ์ด้วย| out-file foo.txt -encoding utf8แต่มันเป็นเรื่องยากที่จะต้องทำซ้ำทุกครั้ง วิธีที่ถาวรในการตั้งสิ่งที่อยู่ใน PowerShell คือการใส่ไว้ใน\Users\me\Documents\WindowsPowerShell\profile.ps1; ฉันได้ตรวจสอบแล้วว่าไฟล์นี้ถูกเรียกใช้งานจริงเมื่อเริ่มต้น มีการกล่าวกันว่าสามารถตั้งค่าการเข้ารหัสเอาต์พุตได้$PSDefaultParameterValues = @{'Out-File:Encoding' = 'utf8'}แต่ฉันได้ลองแล้วและไม่มีผลใด ๆ https://blogs.msdn.microsoft.com/powershell/2006/12/11/outputencoding-to-the-rescue/ซึ่งพูดถึงการ$OutputEncodingมองแวบแรกราวกับว่ามันควรจะเกี่ยวข้อง แต่ก็พูดถึงเอาต์พุตที่เข้ารหัส ใน ASCII ซึ่งไม่ใช่สิ่งที่เกิดขึ้นจริง คุณตั้งค่า PowerShell ให้ใช้ UTF-8 ได้อย่างไร

11
Ruby 1.9: ลำดับไบต์ที่ไม่ถูกต้องใน UTF-8
ฉันกำลังเขียนโปรแกรมรวบรวมข้อมูลใน Ruby (1.9) ซึ่งใช้ HTML จำนวนมากจากไซต์สุ่มจำนวนมาก เมื่อพยายามแยกลิงก์ฉันตัดสินใจใช้.scan(/href="(.*?)"/i)แทน nokogiri / hpricot (การเร่งความเร็วที่สำคัญ) ปัญหาคือตอนนี้ฉันได้รับinvalid byte sequence in UTF-8ข้อผิดพลาด "" จำนวนมาก จากสิ่งที่ฉันเข้าใจnet/httpไลบรารีไม่มีตัวเลือกเฉพาะในการเข้ารหัสและสิ่งที่เข้ามานั้นไม่มีแท็กอย่างถูกต้อง วิธีใดเป็นวิธีที่ดีที่สุดในการทำงานกับข้อมูลที่เข้ามาจริง ฉันลอง.encodeใช้ชุดตัวเลือกการแทนที่และไม่ถูกต้อง แต่ยังไม่ประสบความสำเร็จ ...
109 ruby  encoding  utf-8 

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