คำถามติดแท็ก character-encoding

การเข้ารหัสอักขระหมายถึงวิธีแสดงอักขระเป็นชุดของไบต์ การเข้ารหัสอักขระสำหรับเว็บถูกกำหนดในมาตรฐานการเข้ารหัส

6
ฉันจะแปลงสตริงเป็น UTF-8 ใน C # ได้อย่างไร
ฉันมีสตริงที่ฉันได้รับจากแอพของบุคคลที่สามและฉันต้องการแสดงอย่างถูกต้องในภาษาใด ๆ โดยใช้ C # บน Windows Surface ของฉัน เนื่องจากการเข้ารหัสที่ไม่ถูกต้องส่วนหนึ่งของสตริงของฉันมีลักษณะเช่นนี้ในภาษาสเปน: Acción ในขณะที่ควรมีลักษณะเช่นนี้: Acción ตามคำตอบของคำถามนี้: จะรู้ได้อย่างไรว่าการเข้ารหัสสตริงใน C #การเข้ารหัสที่ฉันได้รับควรมาที่ UTF-8 แล้ว แต่มันถูกอ่านใน Encoding.Default (อาจเป็น ANSI) ฉันกำลังพยายามแปลงสตริงนี้เป็น UTF-8 จริง แต่ปัญหาอย่างหนึ่งคือฉันเห็นเฉพาะเซ็ตย่อยของคลาสการเข้ารหัส (คุณสมบัติ UTF8 และ Unicode เท่านั้น) อาจเป็นเพราะฉัน จำกัด Windows window API เท่านั้น ฉันลองใช้ตัวอย่างบางส่วนที่ฉันพบบนอินเทอร์เน็ต แต่ก็ไม่มีสิ่งใดที่พิสูจน์แล้วว่าประสบความสำเร็จสำหรับภาษาตะวันออก (เช่นภาษาเกาหลี) ตัวอย่างหนึ่งมีดังนี้: var utf8 = Encoding.UTF8; byte[] utfBytes = utf8.GetBytes(myString); …

22
ฉันจะลบจากจุดเริ่มต้นของไฟล์ได้อย่างไร
ฉันมีไฟล์ CSS ที่ดูดีเมื่อฉันเปิดมันโดยใช้geditแต่เมื่อมันถูกอ่านโดย PHP (เพื่อรวมไฟล์ CSS ทั้งหมดไว้ในไฟล์เดียว) CSS นี้มีตัวอักษรต่อไปนี้ที่เสริมไว้:  PHP ลบช่องว่างทั้งหมดดังนั้นการสุ่มที่อยู่ตรงกลางของโค้ดทำให้เกิดความวุ่นวายขึ้น ดังที่ฉันได้กล่าวไปแล้วฉันไม่สามารถเห็นตัวละครเหล่านี้ได้เมื่อฉันเปิดไฟล์ด้วย gedit ดังนั้นฉันจึงไม่สามารถลบออกได้อย่างง่ายดาย ฉันพบปัญหาและเห็นได้ชัดว่ามีสิ่งผิดปกติเกิดขึ้นกับการเข้ารหัสไฟล์ซึ่งทำให้รู้สึกว่าฉันเปลี่ยนไฟล์ไปยังเซิร์ฟเวอร์ Linux / Windows ที่แตกต่างกันผ่านทาง ftp และrsyncพร้อมโปรแกรมแก้ไขข้อความ ฉันไม่รู้เกี่ยวกับการเข้ารหัสอักขระมากนักดังนั้นความช่วยเหลือจะได้รับการชื่นชม หากช่วยได้ไฟล์จะถูกบันทึกในรูปแบบ UTF-8 และ gedit จะไม่ให้ฉันบันทึกในรูปแบบ ISO-8859-15 (เอกสารมีอักขระอย่างน้อยหนึ่งตัวที่ไม่สามารถเข้ารหัสโดยใช้การเข้ารหัสอักขระที่ระบุ) ฉันพยายามบันทึกด้วยปลาย Windows และ Linux แต่ก็ไม่ได้ช่วยอะไร

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

15
Java: วิธีกำหนดการเข้ารหัส charset ที่ถูกต้องของสตรีม
โดยอ้างถึงเธรดต่อไปนี้: Java App: ไม่สามารถอ่านไฟล์ที่เข้ารหัส iso-8859-1 ได้อย่างถูกต้อง วิธีที่ดีที่สุดในการกำหนดการเข้ารหัสชุดอักขระของอินพุตสตรีม / ไฟล์โดยทางโปรแกรมคืออะไร ฉันได้ลองใช้สิ่งต่อไปนี้: File in = new File(args[0]); InputStreamReader r = new InputStreamReader(new FileInputStream(in)); System.out.println(r.getEncoding()); แต่ในไฟล์ที่ฉันรู้ว่าเข้ารหัสด้วย ISO8859_1 โค้ดข้างต้นให้ผลว่า ASCII ซึ่งไม่ถูกต้องและไม่อนุญาตให้ฉันแสดงผลเนื้อหาของไฟล์กลับไปที่คอนโซลอย่างถูกต้อง

12
วิธีการเปลี่ยนการเข้ารหัสเริ่มต้นเป็น UTF-8 สำหรับ Apache
ฉันใช้ บริษัท โฮสติ้งและจะแสดงรายการไฟล์ในไดเรกทอรีหากไฟล์index.htmlไม่อยู่ที่นั่นจะใช้ iso-8859-1 เป็นการเข้ารหัสเริ่มต้น หากเซิร์ฟเวอร์คือ Apache มีวิธีตั้งค่า UTF-8 เป็นค่าเริ่มต้นแทนหรือไม่ อัปเดต: นอกจากนี้ฉันพบว่าใช้ DOCTYPE เป็น HTML 3.2 จริง ๆ แล้วไม่มีชุดอักขระเลย ... ดังนั้นจึงไม่ได้ตั้งค่าการเข้ารหัสใด ๆ แต่มีวิธีเปลี่ยนเป็นใช้ UTF-8 หรือไม่?



16
ใครกำหนดประเภทเนื้อหาการตอบกลับใน Spring MVC (@ResponseBody)
ฉันมีแอปพลิเคชันเว็บ Spring MVC Java ที่ใช้ Annotation ซึ่งทำงานบนเว็บเซิร์ฟเวอร์ของท่าเทียบเรือ (ปัจจุบันอยู่ในปลั๊กอินท่าเทียบเรือ maven) ฉันกำลังพยายามสนับสนุน AJAX ด้วยวิธีการควบคุมเดียวที่ส่งคืนข้อความช่วยเหลือเพียงสตริง ทรัพยากรอยู่ในการเข้ารหัส UTF-8 ดังนั้นสตริงก็เช่นกัน แต่การตอบสนองของฉันจากเซิร์ฟเวอร์มาพร้อมกับ content-encoding: text/plain;charset=ISO-8859-1 แม้ว่าเบราว์เซอร์ของฉันจะส่ง Accept-Charset windows-1250,utf-8;q=0.7,*;q=0.7 ฉันใช้การกำหนดค่าเริ่มต้นของสปริง ฉันพบคำใบ้ในการเพิ่ม bean นี้ในการกำหนดค่า แต่ฉันคิดว่ามันไม่ได้ใช้เพราะมันบอกว่ามันไม่รองรับการเข้ารหัสและใช้ค่าเริ่มต้นแทน <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes" value="text/plain;charset=UTF-8" /> </bean> รหัสคอนโทรลเลอร์ของฉันคือ (โปรดทราบว่าการเปลี่ยนแปลงประเภทการตอบกลับนี้ใช้ไม่ได้สำหรับฉัน): @RequestMapping(value = "ajax/gethelp") public @ResponseBody String handleGetHelp(Locale loc, String code, HttpServletResponse response) { log.debug("Getting help …

10
ฉันจะค้นหาอักขระที่ไม่ใช่ ASCII ใน MySQL ได้อย่างไร
ฉันกำลังทำงานกับฐานข้อมูล MySQL ที่มีข้อมูลบางส่วนที่นำเข้าจากExcel ข้อมูลประกอบด้วยอักขระที่ไม่ใช่ASCII (เช่นเครื่องหมายขีดกลาง ฯลฯ ) รวมทั้งการส่งคืนค่าขนส่งที่ซ่อนอยู่หรือฟีดบรรทัด มีวิธีค้นหาบันทึกเหล่านี้โดยใช้ MySQL หรือไม่?


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 ได้อย่างไร

5
วิธีที่เหมาะสมในการเข้ารหัส URL ของอักขระ Unicode คืออะไร?
ฉันรู้จักโครงการ% uxxxx ที่ไม่ได้มาตรฐาน แต่ดูเหมือนจะไม่ใช่ทางเลือกที่ชาญฉลาดเนื่องจากโครงการนี้ถูกปฏิเสธโดย W3C ตัวอย่างที่น่าสนใจ: ตัวละครหัวใจ หากฉันพิมพ์สิ่งนี้ลงในเบราว์เซอร์ของฉัน: http://www.google.com/search?q=♥ จากนั้นคัดลอกและวางฉันเห็น URL นี้ http://www.google.com/search?q=%E2%99%A5 ซึ่งทำให้ดูเหมือนว่า Firefox (หรือ Safari) กำลังทำสิ่งนี้ urllib.quote_plus(x.encode("latin-1")) '%E2%99%A5' ซึ่งสมเหตุสมผลยกเว้นสิ่งที่ไม่สามารถเข้ารหัสเป็นภาษาลาติน -1 ได้เช่นอักขระจุดสามจุด … ถ้าฉันพิมพ์ URL http://www.google.com/search?q=… ลงในเบราว์เซอร์ของฉันจากนั้นคัดลอกและวางฉันจะได้รับ http://www.google.com/search?q=%E2%80%A6 กลับ. ซึ่งน่าจะเป็นผลจากการทำ urllib.quote_plus(x.encode("utf-8")) ซึ่งสมเหตุสมผลเนื่องจาก…ไม่สามารถเข้ารหัสด้วย Latin-1 แต่มันก็ไม่ชัดเจนสำหรับฉันว่าเบราว์เซอร์รู้ได้อย่างไรว่าจะถอดรหัสด้วย UTF-8 หรือ Latin-1 เนื่องจากสิ่งนี้ดูเหมือนจะคลุมเครือ: In [67]: u"…".encode('utf-8').decode('latin-1') Out[67]: u'\xc3\xa2\xc2\x80\xc2\xa6' ใช้งานได้ดังนั้นฉันไม่รู้ว่าเบราว์เซอร์คิดอย่างไรว่าจะถอดรหัสด้วย UTF-8 หรือ Latin-1 อะไรคือสิ่งที่ถูกต้องในการทำกับตัวละครพิเศษที่ฉันต้องจัดการ?

11
java.sql.SQLException: ค่าสตริงไม่ถูกต้อง: '\ xF0 \ x9F \ x91 \ xBD \ xF0 \ x9F ... '
ฉันมีค่าสตริงต่อไปนี้: "walmart obama 👽💔" ฉันใช้ MySQL และ Java ฉันได้รับข้อยกเว้นต่อไปนี้: `` java.sql.SQLException: ค่าสตริงไม่ถูกต้อง: '\ xF0 \ x9F \ x91 \ xBD \ xF0 \ x9F ... ' นี่คือตัวแปรที่ฉันพยายามแทรกเข้าไป: var1 varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL` โค้ด Java ของฉันที่พยายามแทรก "walmart obama 👽💔" เป็นรหัสที่เตรียมไว้ ดังนั้นฉันจึงใช้setString()วิธี ดูเหมือนว่าปัญหาคือการเข้ารหัสของค่า👽💔 ฉันจะแก้ไขปัญหานี้ได้อย่างไร? ก่อนหน้านี้ฉันใช้ Derby SQL และค่า👽💔เพิ่งจบลงด้วยการเป็นสอง …

6
ความหมายของ - <? xml version =“ 1.0” encoding =“ utf-8”?>
ฉันเพิ่งเริ่มใช้ XML และฉันกำลังพยายามทำความเข้าใจพื้นฐาน ฉันอ่านบรรทัดด้านล่างใน "Learning XML" แต่ก็ยังไม่ชัดเจนสำหรับฉัน ใครช่วยชี้ฉันไปที่หนังสือหรือเว็บไซต์ที่อธิบายพื้นฐานเหล่านี้อย่างชัดเจน จากLearning XML : การประกาศ XML อธิบายคุณสมบัติทั่วไปบางประการของเอกสารโดยบอกโปรเซสเซอร์ XML ว่าต้องการตัวแยกวิเคราะห์ XML เพื่อตีความเอกสารนี้ สิ่งนี้หมายความว่า? ฉันเข้าใจxml versionส่วนนี้ - ทั้งเอกสารและผู้ใช้เอกสารควร "พูดคุย" ใน XML เวอร์ชันเดียวกัน แต่encodingส่วนหนึ่งล่ะ? เหตุใดจึงจำเป็น?

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