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

โลแคลคือชุดของพารามิเตอร์ที่กำหนดภาษาผู้ใช้ประเทศและตัวแปรพิเศษที่ผู้ใช้ต้องการเห็นในส่วนต่อประสานผู้ใช้

5
“ LC_ALL = C” ทำอะไร
สิ่งที่มีCคุณค่าสำหรับการLC_ALLทำในระบบเหมือน Unix? ฉันรู้ว่ามันบังคับให้สถานที่เดียวกันทุกด้าน แต่จะCทำอย่างไร?

7
เหตุใดจึงไม่มีโลแคล“ ยูโรอังกฤษ”
ฉันเคยใช้en_DK.UTF-8สถานที่แปลก ๆเมื่อทำการติดตั้งระบบใหม่เพราะนั่นจะทำให้เกิดผลลัพธ์ (โดยประมาณ) สถานที่ที่ฉันต้องการแม้ว่าฉันจะไม่ได้อยู่ในเดนมาร์กก็ตาม ตัวชี้วัดการวัด รูปแบบวันที่และเวลาที่เหมาะสม แต่ชื่อวันและเดือนเป็นภาษาอังกฤษ รูปแบบเวลา 24 ชั่วโมง สัปดาห์ทำงานเริ่มในวันจันทร์ วันที่ที่เป็นตัวเลขในรูปแบบ ISO (อย่างน้อยที่คล้ายกัน) yyyy-mm-dd วันที่ไม่เป็นทางการคือ dd / mm ไม่ใช่วิธีอื่น ขนาดกระดาษ A4 สกุลเงินยูโร ข้อความระบบเป็นภาษาอังกฤษ อนิจจาอูบุนตูและเดเบียนดูเหมือนจะไม่สนับสนุนen_DKภาษานั้นอีกต่อไป ฉันคิดว่าควรมีบางอย่างที่เหมือนกับen_EU"ยูโรอังกฤษ" ทุกที่ที่ฉันทำงานมีข้อกำหนดเช่นนี้ - ภาษาราชการขององค์กรคือภาษาอังกฤษ แต่เราต้องการค่าเริ่มต้นจากยุโรปสำหรับทุกสิ่ง ฉันจินตนาการว่าฉันไม่ใช่คนแรกที่คิดว่าสถานที่ภาษาอังกฤษ "ที่ไม่เชื่อเรื่องสถานที่" จะเป็นประโยชน์ต่อทั้งตัวฉันเองและองค์กรที่ฉันทำงานด้วย เหตุใดจึงไม่มีอยู่และฉันจะหาการสนทนาและเหตุผลเพิ่มเติมได้ที่ไหน ... หรือฉันควรจะนำเสนอหรือไม่ ถึงผู้ซึ่ง?
93 locale  i18n 

5
ปัญหาของไม่สามารถตั้งค่าภาษา ตรวจสอบให้แน่ใจว่า $ LC_ * และ $ LANG ถูกต้อง!
เมื่อฉันพยายามติดตั้งแพ็คเกจใหม่ฉันจะได้รับข้อความนี้: Can't set locale; make sure $LC_* and $LANG are correct! perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_GB:en", LC_ALL = (unset), LC_CTYPE = "en_GB.UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard …
49 debian  locale 

3
การเข้ารหัสชุดอักขระใดที่ใช้สำหรับชื่อไฟล์และเส้นทางบน Linux
มันขึ้นอยู่กับระบบไฟล์ที่ฉันใช้หรือไม่? ตัวอย่างเช่น ext2 / ext3 / ext4 แต่จะเกิดอะไรขึ้นเมื่อฉันใส่หนึ่งในซีดี "joliet" กับ ISO 9660 ฉันได้ยินมาว่า POSIX มีข้อมูลจำเพาะบางอย่างสำหรับการเข้ารหัสชุดอักขระของชื่อไฟล์หรือไม่ โดยพื้นฐานแล้วสิ่งที่ฉันสงสัยคือถ้าฉันได้รับชื่อไฟล์ที่เข้ารหัส UTF-8 ฉันต้องทำอะไรในการประมวลผล / การแปลงข้อมูลก่อนที่จะส่งต่อไปยังไฟล์ I / O API ใน Linux

7
เหตุใด [AZ] จึงตรงกับอักษรตัวพิมพ์เล็กใน bash
ในเชลล์ทั้งหมดที่ฉันรู้จักrm [A-Z]*ลบไฟล์ทั้งหมดที่ขึ้นต้นด้วยตัวอักษรตัวพิมพ์ใหญ่ แต่ด้วยการทุบตีสิ่งนี้จะลบไฟล์ทั้งหมดที่ขึ้นต้นด้วยตัวอักษร เนื่องจากปัญหานี้มีอยู่บน Linux และ Solaris ที่มี bash-3 และ bash-4 จึงไม่สามารถเป็นข้อบกพร่องที่เกิดจากตัวจับรูปแบบ buggy ใน libc หรือนิยามที่ตั้งที่พลาดไป พฤติกรรมที่แปลกและเสี่ยงนี้มีจุดประสงค์หรือเป็นเพียงข้อผิดพลาดที่มีอยู่ซึ่งไม่ได้ผสมกันมาหลายปีหรือไม่?
43 bash  shell  wildcards  locale 

4
ไม่พบโลแคล / การตั้งค่าโลแคลล้มเหลว - ฉันต้องทำอย่างไร
ฉันติดตั้ง Debian 7 i386 บน VPS (OpenVZ) แล้ว ทุกอย่างทำงานได้ดียกเว้นโลแคล - ความพยายามใด ๆ ที่จะติดตั้งสิ่งใดก็ตามที่แสดง: [...] perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "pl_PL.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard …
32 debian  locale 

2
ตัวแยกทศนิยมปัจจุบันคืออะไร
บอกว่าฉันมีสคริปต์เชลล์ POSIX ที่ ต้องทำงานในระบบ / สภาพแวดล้อมที่แตกต่างกันซึ่งฉันไม่ได้ควบคุมและ จำเป็นต้องลบตัวแยกทศนิยมออกจากสตริงที่ปล่อยโดยโปรแกรมที่เคารพการตั้งค่าภาษา ฉันจะตรวจจับตัวแยกทศนิยมด้วยวิธีทั่วไปได้อย่างไร

5
เหตุใดเกือบทุกโปรแกรมจึงบ่นเกี่ยวกับสถานที่ของฉัน
ฉันใช้ Arch Linux และฉันได้ปฏิบัติตามคำแนะนำในวิกิเกี่ยวกับการตั้งค่าภาษาของฉัน เกือบโปรแกรมที่ทำงานทุกบ่นเกี่ยวกับสถานที่เกิดเหตุ - localeแม้ ดูเหมือนว่านี้: % locale locale: Cannot set LC_ALL to default locale: No such file or directory LANG= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en-US LC_TIME=en-US LC_COLLATE="POSIX" LC_MONETARY=en-US LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT=en-US LC_IDENTIFICATION="POSIX" LC_ALL= หรือ: % perl perl: warning: Setting locale failed. perl: warning: Please check that your …

5
อัปเดตเซิร์ฟเวอร์ arch linux ของฉันและตอนนี้ฉันได้รับ tmux: ต้องการสถานที่ตั้ง UTF-8 (LC_CTYPE) แต่มี ANSI_X3.4-1968
ฉันเพิ่งอัปเดตเซิร์ฟเวอร์ Arch Linux ของฉันและในระหว่างกระบวนการ tmux ได้รับการอัปเดต ฉันใช้tmuxในขณะที่การอัปเกรดเกิดขึ้นและใช้งานได้ในภายหลัง แต่ทั้งหมดในช่วงเซสชัน SSH เดียวกัน อย่างไรก็ตามตอนนี้เมื่อใดก็ตามที่ฉันพยายามที่จะออกtmuxคำสั่งใด ๆ ที่ฉันได้รับข้อผิดพลาดนี้: tmux: need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968 นี่คือผลลัพธ์จากlocale -aบนเซิร์ฟเวอร์: $ locale -a C POSIX และบนเครื่องของฉัน (Ubuntu 15.10): $ locale -a C C.UTF-8 en_AG en_AG.utf8 en_AU.utf8 en_BW.utf8 en_CA.utf8 en_DK.utf8 en_GB.utf8 en_HK.utf8 en_IE.utf8 en_IN en_IN.utf8 en_NG en_NG.utf8 en_NZ.utf8 …

2
LC_COLLATE (ควร) มีผลกับช่วงอักขระหรือไม่
ลำดับการเรียงผ่านLC_COLLATEกำหนดไม่เพียงเรียงลำดับของอักขระแต่ละตัวเท่านั้น แต่ยังรวมถึงความหมายของช่วงอักขระด้วย หรือไม่ พิจารณาตัวอย่างต่อไปนี้: unset LANGUAGE LC_ALL echo B | LC_COLLATE=en_US grep '[a-z]' สังหรณ์ใจBไม่ได้อยู่ใน[a-z]ดังนั้นสิ่งนี้ไม่ควรส่งออกอะไร นั่นคือสิ่งที่เกิดขึ้นบน Ubuntu 8.04 หรือ 10.04 แต่ในบางเครื่องทำงาน Debian Lenny หรือบีบBพบเพราะช่วงa-zรวมถึงทุกอย่างที่ระหว่างaและzเพื่อเปรียบเทียบรวมทั้งตัวอักษรทุนผ่านBZ ระบบทั้งหมดที่ทำการทดสอบจะมีen_USสถานที่เกิดขึ้น ฉันยังพยายามที่แตกต่างกันสถานที่เกิดเหตุ: ในเครื่องที่Bจะถูกจับคู่ข้างต้นเดียวกันที่เกิดขึ้นในสถานบริการทุก (ส่วนใหญ่เป็นภาษาลาตินตาม: {en_{AU,CA,GB,IE,US},fr_FR,it_IT,es_ES,de_DE}{iso8859-1,iso8859-15,utf-8}ยังสถานที่ภาษาจีน) ยกเว้นญี่ปุ่น (ในการเข้ารหัสใด ๆ ) และ/CPOSIX ช่วงของอักขระหมายความว่าอย่างไรในนิพจน์ทั่วไปเมื่อคุณไปเกิน ASCII เหตุใดจึงมีความแตกต่างระหว่างการติดตั้ง Debian บางอย่างในมือข้างหนึ่งและการติดตั้ง Debian อื่น ๆ และ Ubuntu ในอีกด้านหนึ่ง? ระบบอื่นทำงานอย่างไร? ใครถูกและใครควรจะรายงานบั๊ก? (โปรดทราบว่าฉันถามเกี่ยวกับพฤติกรรมของช่วงอักขระเช่น[a-z]ในen_USตำแหน่งที่ตั้งโดยเฉพาะอย่างยิ่งในระบบที่ใช้ libc เป็นหลัก GNU …

3
ทำไมการเรียงลำดับจึงบอกว่าɛ = e
ɛ("ละติน epsilon") เป็นจดหมายที่ใช้ในบางภาษาแอฟริกันมักจะเป็นตัวแทนของเสียงสระในภาษาอังกฤษ "เตียง" ใน Unicode มันถูกเข้ารหัสเป็น U + 025B ซึ่งแตกต่างจากทุกวันeมาก อย่างไรก็ตามถ้าฉันsortต่อไปนี้: eb ed ɛa ɛc ดูเหมือนว่าจะsortพิจารณาɛและeเทียบเท่า: ɛa eb ɛc ed เกิดอะไรขึ้นที่นี่? และมีวิธีที่จะสร้างɛและeแยกแยะเพื่อsortวัตถุประสงค์?
25 sort  locale  unicode 

3
ทำความเข้าใจเกี่ยวกับการเข้ารหัสชื่อไฟล์ Unix
ฉันมีความเข้าใจยากว่าการเข้ารหัสชื่อไฟล์ทำงานอย่างไร ในยูนิกซ์ฉันพบคำอธิบายที่ขัดแย้ง ชื่อไฟล์จะถูกเก็บไว้เป็นตัวละคร เพื่ออ้างอิงคำตอบอื่น: คำถามหลายข้อเกี่ยวกับการเข้ารหัสอักขระระบบไฟล์บน linux […] ดังที่คุณพูดถึงคำถามของคุณชื่อไฟล์ UNIX เป็นเพียงลำดับของอักขระ เคอร์เนลไม่รู้อะไรเกี่ยวกับการเข้ารหัสซึ่งเป็นแนวคิดของพื้นที่ผู้ใช้ (เช่นระดับแอปพลิเคชัน) หากชื่อไฟล์ถูกจัดเก็บเป็นตัวอักษรจะต้องมีการเข้ารหัสบางอย่างเนื่องจากในที่สุดชื่อไฟล์จะต้องลงท้ายด้วยลำดับบิตหรือไบต์บนดิสก์ หากผู้ใช้สามารถเลือกการเข้ารหัสใด ๆเพื่อแมปอักขระกับลำดับไบต์ที่ป้อนไปยังเคอร์เนลเป็นไปได้ที่จะสร้างลำดับไบต์ใด ๆสำหรับชื่อไฟล์ที่ถูกต้อง สมมติว่าต่อไปนี้: ผู้ใช้ใช้การเข้ารหัสแบบสุ่มXซึ่งแปลไฟล์fooเป็นลำดับไบต์αและบันทึกลงดิสก์ อีกประการหนึ่งการใช้งานของผู้ใช้การเข้ารหัสY ในการเข้ารหัสนี้αแปลเป็น/ซึ่งไม่อนุญาตให้ใช้เป็นชื่อไฟล์ อย่างไรก็ตามสำหรับผู้ใช้คนแรกไฟล์นั้นถูกต้อง ฉันคิดว่าสถานการณ์นี้ไม่สามารถเกิดขึ้นได้ ชื่อไฟล์จะถูกจัดเก็บเป็นไบนารี blobs เพื่ออ้างอิงคำตอบอื่น: การ เข้ารหัสชุดอักขระใดที่ใช้สำหรับชื่อไฟล์และเส้นทางบน Linux ดังที่ผู้อื่นระบุไว้ไม่มีคำตอบสำหรับเรื่องนี้จริงๆ: ชื่อไฟล์และเส้นทางไม่มีการเข้ารหัส ระบบปฏิบัติการเกี่ยวข้องเฉพาะกับลำดับของไบต์เท่านั้น แอปพลิเคชั่นส่วนบุคคลอาจเลือกที่จะตีความว่าเป็นการเข้ารหัสในบางวิธี แต่สิ่งนี้แตกต่างกันไป หากระบบไม่จัดการกับตัวละครห้ามมีการห้ามเฉพาะอักขระ (เช่น/หรือNULL) ในชื่อไฟล์ได้อย่างไร ไม่มีแนวคิดเกี่ยวกับ/ การเข้ารหัส คำอธิบายจะเป็นระบบไฟล์ที่สามารถจัดเก็บชื่อไฟล์ที่มี ตัวอักษรใด ๆและเป็นเพียงโปรแกรมผู้ใช้ที่ใช้การเข้ารหัสเข้าบัญชีที่จะทำให้หายใจไม่ออกในชื่อไฟล์ที่มีอักขระที่ไม่ถูกต้อง ซึ่งในที่สุดก็หมายถึงว่าระบบไฟล์และเคอร์เนลกระป๋องไม่มีปัญหาใด ๆ /ชื่อจับไฟล์ที่มี ฉันก็คิดว่านี่เป็นสิ่งที่ผิด การเข้ารหัสเกิดขึ้นที่ใดและข้อ จำกัด ถูกวางที่ใดที่ไม่อนุญาตให้ใช้อักขระเฉพาะ

4
ฉันจะทำให้“ ls” แสดงดอทไฟล์ได้อย่างไรในขณะที่ไม่สนใจตัวพิมพ์เล็กและตัวพิมพ์ใหญ่?
สร้างไฟล์ต่อไปนี้ในไดเรกทอรี $ touch .a .b a b A B 你好嗎 lsคำสั่งซื้อเริ่มต้นของฉันเพิกเฉยต่อการมีจุดนำอยู่รวมกับไฟล์อื่น ๆ $ ls -Al total 0 -rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 a -rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 .a -rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 A -rw-r--r-- 1 sparhawk sparhawk 0 Jun …
21 ls  locale 

2
การแสดงออกวงเล็บ (ไม่มีช่วง) จับคู่ตัวละครที่ไม่คาดคิดในทุบตี
ฉันใช้ทุบตีบน Linux ฉันได้รับความสำเร็จจากคำสั่ง if ต่อไปนี้ แต่ไม่ควรส่งคืนรหัสที่ล้มเหลวหรือ if [[ ■ = [⅕⅖⅗] ]] ; then echo yes ; fi สี่เหลี่ยมจัตุรัสไม่เท่ากับอักขระใด ๆ ดังนั้นฉันจึงไม่เห็นสาเหตุที่ฉันได้รหัสสำเร็จ เป็นสิ่งสำคัญสำหรับฉันที่จะเก็บวงเล็บคู่ไว้ในกระเป๋า มีวิธีอื่นที่จะทำช่วงในสถานการณ์นี้หรือคำแนะนำอื่น ๆ ?
20 bash  locale  test 

4
ฉันจะสร้างตัวอักขระขีดเส้นใต้ได้อย่างไร?
ฉันชอบความสามารถในการตั้งชื่อไฟล์และไดเรกทอรีด้วยคำนำหน้าขีดล่างถ้าเป็นสิ่งที่ฉันต้องการแยกจากไฟล์และไดเรกทอรีอื่น ๆ ในระดับเดียวกัน ตัวอย่างเช่นบน Windows และ Mac คำนำหน้าไฟล์ที่มีเครื่องหมายขีดล่างเรียงลำดับไว้ที่ด้านบนด้านหน้าของไฟล์ที่ขึ้นต้นด้วยตัวอักษรและตัวเลข googling ของฉันเปิดขึ้นแล้วว่าเกี่ยวข้องกับ LC_COLLATE และสถานที่ปัจจุบันของฉัน (en_US) ไม่เป็นไรแม้ว่าฉันจะไม่เข้าใจว่าทำไม en_US จึงไม่เรียงตามที่คาดไว้ จากสถานที่ตั้งของสถานประกอบการสาธิต ICU Collateไปที่ en_US_POSIX ดูเหมือนจะมีลำดับการจัดเรียงที่ฉันกำลังมองหา (คุณต้องแก้ไขข้อมูลตัวอย่างและเพิ่มขีดล่างเพื่อทดสอบ) แต่ฉันไม่เห็นวิธีใช้สิ่งนี้ในเปลือก Linux ของฉัน เป็นการดีที่ฉันต้องการที่จะสามารถตั้งค่าบางอย่างในการกำหนดค่า bash ของฉันเพื่อให้ ls เรียงลำดับการขีดเส้นใต้ก่อนเสมอ ฉันจะทำสิ่งนี้อย่างไร
20 ls  sort  locale 

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