Büyük bir CSV dosyasına sahibim, bunu bir MySQL tablosuna yükleyeceğim. Ancak, bu veriler utf-8 biçiminde kodlanmıştır, çünkü bazı ingilizce olmayan karakterler içerir. Tablodaki ilgili sütunun karakter kümesini utf-8 olarak ayarlamıştım. Ama dosyamı yüklediğimde. ingilizce olmayan karakterler tuhaf karakterlere dönüşür (tablo satırlarımda bir seçim yaptığımda). Verilerimi tabloya yüklemeden önce kodlamam gerekir mi? eğer evet bunu nasıl yapabilirim. Verileri yüklemek ve LOAD DATA LOCAL INFILE komutunu kullanarak Python kullanıyorum. Sen göndermesi gerektiğini sayesindeutf-8 kodlu metni MySQL tablosuna yükleme
http://dev.mysql.com/doc/refman/5.1/en/load-data.html dediği gibi
18
A
cevap
13
, size CSV kullandığı charset "KARAKTER SET" LOAD DATA isteğe bağlı parametre YEREL INFILE
2
dosyasını belirtebilirsiniz
init_command = 'SET NAMES UTF8'
use_unicode = True
charset = 'utf8'
MySQLdb.connect() yapıyor
dbconfig = {}
dbconfig['host'] = 'localhost'
dbconfig['user'] = ''
dbconfig['passwd'] = ''
dbconfig['db'] = ''
dbconfig['init_command'] = 'SET NAMES UTF8'
dbconfig['use_unicode'] = True
dbconfig['charset'] = 'utf8'
conn = MySQLdb.connect(**dbconfig)
düzenleme: ah, üzgünüm, bkz size "LOAD DATA LOCAL INFILE" kullanmakta olduğunuz kattık -
62
deneyin bu başlangıçtaki soruya :) dan belli değildi
2
Karakterlerinizi dosyada kodlamanıza gerek yoktur, ancak bu dosyayı veritabanına yüklemeden önce dosyanızın UTF-8'de kodlandığından emin olmanız gerekir.
İlgili konular
- 1. PHP MySQL charset utf8 problemleri
- 2. PHP CSV MySQL insert (utf8)
- 3. MySQL UTF8 varchar sütun boyutu
- 4. latin1 kodlanmış metni utf8 tablolarına ekleme (mysql_set_charset'i kullanmayı unutma)
- 5. Mysql tablolarını latin1'den utf8'ye dönüştürme
- 6. Varolan bir mySQL tablosuna veri sütunu ekle
- 7. MySQL tablosuna en son giriş yapın
- 8. MySQL Bağlayıcı/Python - python değişkeni MySQL tablosuna ekle
- 9. UTF8
- 10. Mysql tablosuna veri yüklemek için bu kadar yavaş neden
- 11. MySQL yükleme verileri infrared - hızlanma?
- 12. UnicodeDecodeError: 'utf8' codec'i bayt edemiyor
- 13. homebrew MySQL yükleme hatası
- 14. Centos'ta mysql-python'u yükleme
- 15. JSON kodlu AJAX içeriğini jQuery UI sekmeleri içine yükleme
- 16. MySQL 5.7'de karakter takımı değiştirilemiyor (latin'den utf8'e)
- 17. UTF8, PHP -> MySQL verir. Veritabanında soru işaretleri mi alıyorsunuz?
- 18. Bir Excel dosyasını PHPExcel ile bir MySQL tablosuna aktarın.
- 19. Mevcut sütuna göre varolan bir mysql tablosuna tamsayı sütunu ekle
- 20. Mysql-konektörü pip ile yükleme
- 21. XML dosyasını MySQL içine yükleme
- 22. mysql yükleme verileri nerede fıkra
- 23. yükleme yerel infile perl mysql
- 24. mysqladmin ile utf8 db oluşturma
- 25. Birden çok tablodaki mysql tam metni
- 26. Tespit Sert Kodlu Şifreler
- 27. Yükleme mysql taş, mirası için app raylar - MySQL dmg/demlemek
- 28. knitr ve UTF8 kodlaması
- 29. UTF8'den ASCII'ye dönüştürme
- 30. UTF8 ve JavaScript
kabul edilen yanıt olmalıdır – memical
ekleyerek "CHARACTER SET UTF8" anahtarı oldu! – nemnesic
Oh, beni çok uzun sürdü. Her şeyi denedi, sadece utf8'i latin'e dönüştürerek utf 8'lik bir tabloya aktarmaya devam etti. Kodlama seçeneği harikalar çalıştı. – John