iconv บน cygwin บันทึกการเน้นเสียง


2

ใครรู้ว่าทำไมiconvช่วยเน้นเสียงใน cygwin? และถ้าเป็นเช่นนั้นฉันจะบอกไม่ได้

[Nifle@cygwin ~]$ echo "ÅÄÖÕŨÉÁ" | iconv -f utf-8 -t ascii//TRANSLIT
A"A"O~O~U'E'A

ฉันต้องการให้มันทำงานเหมือนบนเซิร์ฟเวอร์ linux ของฉัน

[NIfle@linux ~]$ echo "ÅÄÖÕŨÉÁ" | iconv -f utf-8 -t ascii//TRANSLIT
AAOOUEA

ในการหลีกเลี่ยงปัญหาคุณอาจต้องการใช้เวทมนตร์บางอย่างใน perl echo "ÅÄÖÕŨÉÁ" | iconv -f utf-8 -t ascii//TRANSLIT | perl -ne 'foreach (split //) { print "$_" if /\w/; } print "\n";'ซึ่งจะระงับอักขระที่ไม่ใช่คำทั้งหมด ( \w)
mpy

ไม่สามารถใช้งานได้เนื่องจาก OP อาจลองแยกวิเคราะห์บางอย่างที่มีสตริง"Hello"ซึ่งจะถูกแปลงเป็นผิดพลาดHello
Pat

คำตอบ:


4

ปัญหาเก่า:

อ่านความคิดเห็นของ Kobylkin ในหัวข้อนี้ ...

https://sourceware.org/bugzilla/show_bug.cgi?id=2872#c2

ด้วย

http://www.yqcomputer.com/422_10096_1.htm

จำ Cygwin <1.7 ไม่มีโลแคล

แต่ในกรณีของคุณดูเหมือนว่าท้องถิ่นจะตีความกัน ; มันเป็นTransliterationกระบวนการiconv บน Cygwin ผู้ตัดสินใจที่จะแปลงอักขระหนึ่งตัวเป็น 2 (หรือมากกว่า) ส่วนประกอบแทนหนึ่งตัว ในตัวอย่างของคุณคุณจะได้รับตัวอักษรทับศัพท์รวมถึงตัวดัดแปลงตัวอักษรทับศัพท์ (สำเนียง, การกำหนดค่าแบบอักษร, ตัวหนอน, จุด, ฯลฯ ) หากมี

Å   Ä   Ö   Õ   Ũ   É   Á
A  "A  "O  ~O  ~U  'E  'A

Transliteration:
When a character cannot be represented in the target character set, 
it can be approximated through one or several similarly looking characters
(https://www.gnu.org/software/libiconv/)

คุณสามารถดูlibiconv.dll translit.defแสดงแหล่งที่มาของตารางการถอดเสียง (translit.h) ที่สร้างขึ้นในระหว่างกระบวนการ "สร้าง" ตารางนั้นแสดงให้เห็นว่าสิ่งที่ Cygwin ทำนั้นถูกต้องจริง


0

ตารางการแปลงที่การใช้ iconv ของ Cygwin นั้นแตกต่างจากตารางบนเซิร์ฟเวอร์ Linux ของคุณ

หากคุณเปลี่ยนสถานที่สำหรับ Cygwin เป็นสถานที่เกิดเหตุของเซิร์ฟเวอร์ลินุกซ์คุณควรได้รับผลการแปลงเดียวกัน


-1

Cygwin อาจไม่ได้ใช้ UTF-8 ดังนั้นพยายามแสดงอักขระ UTF-8 สองไบต์หนึ่งตัวเป็นอักขระ ASCII สองไบต์

ทำดังต่อไปนี้:

  1. ไปที่เมนู (หากคุณไม่เห็นเมนูใด ๆ คลิกขวาที่เทอร์มินัลของคุณ)
  2. คลิกตัวเลือก ...
  3. คลิกที่ข้อความ
  4. ตั้งสถานที่เกิดเหตุและตัวละครชุด

เนื่องจากฉันไม่ได้ติดตั้ง Cygwin ฉันไม่สามารถบอกได้ว่าค่าที่ถูกต้องคืออะไร

ดูเพิ่มเติมบทความ Cygwin สากล - สถานที่ติดตั้ง


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