Kar Tanesi'nde bir dosyadaki geçersiz utf8 [yinelenen] karakterleri tanımlamak için bir sorgu var mı

Aug 19 2020

Snowflake'e yüklerken geçersiz UTF-8 karakterleri için bir hata alan bir dosyam var, seçenekli bir dosya formatı oluşturarak onu başka bir kodlama kullanarak bir tabloya yüklemeyi başardım ENCODING = 'iso-8859-1'ama bunları almanın bir yolunu bulmak istiyorum karakterler sorgulandı.

TO_BINARY(col,'UTF-8')Geçersiz UTF-8'e sahip olan ancak bu karakterleri yakalamak için geçerli bir sonuç alamayan sütunlarda başarısız olacağını umarak işlevi denedim , kimse aynı sorunla karşılaştı mı?

Yanıtlar

1 DarrenGardner Aug 20 2020 at 02:33

Lütfen Snowflake içindeki TÜM karakter verilerinin UTF-8 kullanılarak kodlandığını unutmayın . Başka seçenek yok. Bir süre önce, bu kesinlikle doğru değildi ve Snowflake'de UTF-8 OLMAYAN karakter verilerine sahip olmak mümkündü. Ancak bu artık mümkün olmamalı.

ENCODING = 'iso-8859-1'Kar Tanesi'ne (INTO KOPYALAMA işlemi sırasında) dosya üzerinde karakter seti çevirisini gerçekleştirmesi talimatını veren seçeneği belirleyerek (bu daha sonra ISO-8859-1'de kodlanmış olarak yorumlandı), tüm karakterleri içine yazıldığı şekliyle UTF-8 eşdeğerlerine eşleştiriyor Kar tanesi. Sonuç olarak, Snowflake'teki tüm veriler UTF-8 olarak kodlanmıştır ve bu nedenle keşfedilecek HERHANGİ UTF-8 olmayan karakter olmamalıdır . Bununla birlikte, temel alınan (kaynak) dosya COPY INTO sırasında belirttiğiniz kodlama ile gerçekten kodlanmamışsa, karakter kümesi çevirisinin sonucu doğru / beklenen UTF-8 karakterlerine çevrilmeyebilir (bu durumda, ISO -8859-1).

Bu göz önüne alındığında, burada çözmeye çalıştığınız nihai sorun nedir? ENCODING = 'iso-8859-1'Aslında ISO-8859-1 olmayan bir kaynak dosya yüklediniz mi? Yoksa kaynak dosyası söylüyor WAS Snowflake'e sonuçlanan karakter (1) yanlış veya (2) geçersiz UTF-8 ya nasılsa henüz edilmektedir gerçekten ISO-8859-1 olarak kodlanmış ve? Yoksa bir kaynak dosyanın gerçek kodlamasını belirlemeye mi çalışıyorsunuz (tüm ISO-8859-1 boyutunu tamamen göz ardı ederek)?

Monem_منعم Aug 19 2020 at 19:08

Ayrıntılı cevap burada bulundu Kar Tanesi'nde utf8 olmayan karakterler içeren satırları nasıl bulabilirim?

Sorumu yinelenen olarak işaretlemeli ve bağlantıya bakmalısınız, lütfen.