UTF-8 ไม่ได้รับการยอมรับในกระบวนการชุดงาน SQL ผ่าน Putty


0

ฉันมีไฟล์. sql พร้อมคำสั่ง "แทรกลงใน" SQL แบบง่าย ๆ ซึ่งถูกแทรกลงในตารางที่เรียกว่าKünstler

insert into Künstler (name) values ('Mariah Carey');
insert into Künstler (name) values ('Michael Jackson');

อย่างไรก็ตามเมื่อรันไฟล์ผ่าน Putty เพื่อรันคำสั่งเหล่านี้แต่ละบรรทัดจะพบกับข้อผิดพลาด

During SQL processing it returned:
SQL0007N The following on "insert into K" mark "▒" is invalid.

ดูเหมือนว่าอักขระ umlaut เยอรมันจะถูกแปลงเป็น '▒'

ฉันได้เปิดใช้งาน UTF-8 บน Putty และคำสั่งจะทำงานหากป้อนด้วยตนเอง แต่ไม่ได้เป็นแบตช์ มีอะไรแก้ไขไหม?

สำหรับข้อมูลเพิ่มเติมภาษาที่ฉันใช้คือ DB2


นี่เป็นความคิดที่แย่มากที่จะเรียกคอลัมน์ "Künstler" ฉันจะพิจารณาง่าย ๆ ในการเปลี่ยนชื่อ colomn
duDE

@duDE ใช่ฉันจะทำแบบเดียวกัน แต่น่าเสียดายที่ฉันไม่มีทางเลือกในเรื่อง: /
Pejman Poh

คำตอบ:


0

วิ่ง ต้นฉบับ ใน PuTTY ไม่ได้รับผลกระทบจากการตั้งค่าของ PuTTY มันจะขึ้นอยู่กับการเข้ารหัส (ชุดอักขระ) ของสคริปต์และการตั้งค่าตำแหน่งที่ตั้งของคุณ (รวมถึงการเข้ารหัสของฐานข้อมูล - และวิธีที่อ่านสคริปต์)

เมื่อคุณ ชนิด บนคีย์บอร์ดโดยใช้ PuTTY ซึ่งขึ้นอยู่กับการตั้งค่าของ PuTTY สำหรับคีย์บอร์ด

แทนที่จะมองหาโปรแกรมฟิกซ์ใน PuTTY คุณอาจสามารถตั้งค่าหน้ารหัสแอปพลิเคชันของคุณ (ระบุไว้ใน การอ้างอิง DB2 ) เป็น UTF-8 (หน้า 1208 ตาม ทำความเข้าใจกับการแปลงอักขระ DB2 Universal Database ) ตามที่ การสืบทอดค่าโค้ดเพจ นั่น น่า เกิดขึ้นโดยอัตโนมัติหากตั้งค่าภาษาของคุณถูกต้อง


0

ทางออกกลายเป็นเรื่องง่าย ฉันกำลังเขียนสคริปต์ใน notepad ++ และฉันได้ตั้งค่าไฟล์เป็นการเข้ารหัสที่ผิด การสลับการเข้ารหัสจากค่าเริ่มต้น ANSI เป็น UTF-8 แก้ปัญหาได้

สามารถทำได้ผ่านการเข้ารหัส - & gt; เข้ารหัสเป็น UTF-8 โดยไม่มี BOM

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