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

2
สร้างฐานข้อมูล MySQL ด้วย charset UTF-8
ฉันใหม่กับ MySQL และฉันต้องการที่จะรู้ว่า: ฉันจะสร้างฐานข้อมูลด้วยชุดอักขระutf-8เช่นเดียวกับที่ฉันทำใน navicat ได้อย่างไร create mydatabase; ... ดูเหมือนว่าจะใช้ชุดอักขระเริ่มต้นบางประเภท
142 mysql  collation  utf-8 

1
การค้นหาแถวที่ไม่ใช่ ASCII จาก Postgres
ไม่[:ascii:]ทำงานในระดับ Postgres ที่ทั้งหมดหรือไม่ มันไม่ได้ระบุไว้ในความช่วยเหลือของพวกเขาแต่ฉันเห็นตัวอย่างในเว็บที่ใช้มัน ฉันมีฐานข้อมูล UTF-8 โดยมีการเปรียบเทียบและc_typ e en_US.UTF-8และรุ่น Postgres คือ 9.6.2 เมื่อฉันค้นหาแถวที่ไม่ใช่ ASCII เช่นนี้: select title from wallabag_entry where title ~ '[^[:ascii:]]'; ฉันจะได้รับทั้ง Unicode และไม่ใช่ Unicode สัญลักษณ์ (เอาท์พุทเต็มรูปแบบที่นี่ ): Сталинская правозащитница: мать Меленкова бабушка Настя Дневник НКВДиста Шабалина: Знает ли Москва положение на фронте? Бег по городу и поездка …

1
ทำไมค่าเริ่มต้น character_set_server คือ latin1
ฉันใช้ MySQL 5.5 และเมื่อฉันแสดงตัวแปรเกี่ยวกับชุดอักขระฉันมี +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ …

2
ตั้งค่า character_set_client เป็น utf8mb4
ฉันพยายามแปลงฐานข้อมูลของฉันให้เป็นutf8mb4ไปตามคู่มือนี้ ฉันได้ตั้ง: [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] init-connect='SET NAMES utf8mb4' collation_server=utf8mb4_unicode_ci character_set_server=utf8mb4 skip-character-set-client-handshake แต่คุณค่าของcharacter_set_clientและcharacter_set_resultsยังคงไม่เปลี่ยนเป็น utf8mb4 mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'; +--------------------------+--------------------+ | Variable_name | Value | +--------------------------+--------------------+ | character_set_client | utf8 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem …
12 mysql  collation  utf-8 

2
เมื่อจะใช้ 'nvarchar / nchar' กับ SQL Server 2019?
กับ SQL Server 2019 ไมโครซอฟท์เปิดตัวสนับสนุน UTF-8สำหรับCHARและVARCHARชนิดข้อมูลและพูดว่า: คุณสมบัตินี้อาจช่วยประหยัดพื้นที่เก็บข้อมูลได้อย่างมากทั้งนี้ขึ้นอยู่กับชุดอักขระที่ใช้งาน ตัวอย่างเช่นการเปลี่ยนชนิดข้อมูลคอลัมน์ที่มีอยู่ด้วยสตริง ASCII จาก NCHAR (10) เป็น CHAR (10) โดยใช้การเปรียบเทียบการเปิดใช้งาน UTF-8 แปลเป็นความต้องการหน่วยเก็บข้อมูลลดลงเกือบ 50% การลดลงนี้เป็นเพราะ NCHAR (10) ต้องการ 22 ไบต์สำหรับการจัดเก็บในขณะที่ CHAR (10) ต้องการ 12 ไบต์สำหรับสายอักขระ Unicode เดียวกัน ดูเหมือนว่า UTF-8 จะรองรับทุกสคริปต์ดังนั้นโดยทั่วไปเราสามารถเริ่มเก็บข้อมูล Unicode ในvarcharและcharคอลัมน์ และตามที่ได้กล่าวไว้ในเอกสารแล้วสิ่งนี้สามารถลดขนาดของตารางและดัชนีและจากนั้นเราจะได้ประสิทธิภาพที่ดียิ่งขึ้นเนื่องจากอ่านข้อมูลในปริมาณที่น้อยลง ฉันสงสัยว่านี่หมายความว่าเราสามารถหยุดใช้nvarcharและncharคอลัมน์ที่ใช้ UTF-16 หรือไม่ ใครสามารถชี้สถานการณ์และเหตุผลที่จะไม่ใช้ชนิดข้อมูลถ่านด้วยการUTFเข้ารหัสและใช้ n-chars ต่อไปได้?

1
ปัญหาการเข้ารหัสกับคอลัมน์ SQL Server VARCHAR ที่ดึงมาใน Python
เมื่อเร็ว ๆ นี้เรามีปัญหาเกี่ยวกับการเข้ารหัสที่เกี่ยวข้องกับเขตข้อมูลที่ถูกเก็บเป็น varchar (120) ใน SQL Server ใน SSMS, varchar จะปรากฏเป็น: "ใครฆ่า JonBen‚t" อย่างไรก็ตามเมื่อมันถูกนำเข้าสู่ไพ ธ อนมันจะปรากฏเป็น: ฉันค้นคว้าจากด้าน Python แล้วไม่มีอะไรแปลก ๆ เกิดขึ้น ทฤษฎีของฉันคือ varchar ใน SQL Server ยอมรับอักขระ UTF-8 ซึ่งแสดงใน python แตกต่างจาก SSMS ฉันไม่คุ้นเคยกับการเข้ารหัสใน SQL Server มาก ใครช่วยได้โปรดแจ้งให้เราทราบต่อไปนี้: มีวิธีใน SSMS เพื่อดูการเข้ารหัสของ varchar หรือไม่? ตัวอย่างเช่นดู \ x82 แทนที่จะแสดงเครื่องหมายจุลภาคเนื่องจากมาจาก SSMS หรือไม่ เรากำลังใช้ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.