abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:00 | Humor

    Ačkoli je papež Lev XIV. hlavou katolické církve a stojí v čele více než miliardy věřících po celém světě, také on někdy řeší všední potíže. A kdo v životě neměl problémy se zákaznickou linkou? Krátce poté, co nastoupil do úřadu, musel papež se svou bankou řešit změnu údajů. Operátorka ale nechtěla uvěřit, s kým mluví, a Svatému otci zavěsila.

    Ladislav Hagara | Komentářů: 0
    dnes 05:11 | Nová verze

    Incus, komunitní fork nástroje pro správu kontejnerů LXD, byl vydán ve verzi 7.0 LTS (YouTube). Stejně tak související LXC a LXCFS.

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Google Chrome 148 byl prohlášen za stabilní. Nejnovější stabilní verze 148.0.7778.96 přináší řadu novinek z hlediska uživatelů i vývojářů. Vypíchnout lze Prompt API (demo) pro přímý přístup k AI v zařízení. Podrobný přehled v poznámkách k vydání. Opraveno bylo 127 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Komunita

    Richard Hughes oznámil, že po společnostech Red Hat a Framework a organizacích OSFF a Linux Foundation, službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzorují také společnosti Dell a Lenovo. Do dnešního dne bylo díky LVFS provedeno více než 145 milionů aktualizací firmwarů od více než 100 různých výrobců na milionech linuxových zařízení.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | IT novinky

    Americké technologické společnosti Microsoft, Google a xAI souhlasily, že vládě Spojených států poskytnou přístup k novým modelům umělé inteligence (AI) před jejich uvedením na trh. Oznámila to americká vláda, která tak bude moci prověřit, zda modely nepředstavují hrozbu pro národní bezpečnost. Oznámení podtrhuje rostoucí obavy Washingtonu z rizik spojených s výkonnými AI systémy. Americké úřady chtějí v rámci předběžného přístupu

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Společnost Valve zveřejnila (GitLab) nákresy ovladače Steam Controller a puku. Pro všechny, kdo by jej chtěli hacknout nebo modifikovat, případně pro ně navrhnout nějaké příslušenství. Pod licencí Creative Commons (CC BY-NC-SA 4.0).

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Komunita

    PHP bylo dlouho distribuováno pod vlastní licencí – s výjimkou částí spadajících pod licenci Zend Engine. Po několikaleté práci se povedlo PHP přelicencovat na 3bodovou licenci BSD.

    Ladislav Hagara | Komentářů: 0
    včera 05:00 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube). Na Linuxu je vedle Qt frontendu nově k dispozici také GTK4 / libadwaita frontend.

    Ladislav Hagara | Komentářů: 20
    5.5. 20:22 | IT novinky

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 3.1 specifikace OpenCL (Open Computing Language). OpenCL je průmyslový standard pro paralelní programování heterogenních počítačových systémů.

    Ladislav Hagara | Komentářů: 0
    5.5. 13:11 | Nová verze

    Homebridge pro integraci chytrých domácích zařízení byl vydán ve verzi 2.0.0. Nově vedle protokolu HomeKit Accessory Protocol (HAP) podporuje standard chytré domácnosti Matter.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (9%)
     (2%)
     (14%)
     (32%)
     (4%)
     (7%)
     (3%)
     (16%)
     (24%)
    Celkem 1522 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: mariadb (mysql) : invalid utf8 character string

    25.6.2020 08:27 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    mariadb (mysql) : invalid utf8 character string
    Přečteno: 1671×
    Zdravím,

    Mám sql příkaz, který uchovává v databázi obrázek a náhled. Po přechodu na novější verzi databáze dostávám warnings po vykonání příkazu k uložení - Invalid utf8 character string blabla.

    Pole k uložení dat NEMAJÍ určený typ ( ostatní pole a tabulka utf8-czech-ci ). Nevím co změnit, aby hláška zmizela ( a přes mega soubor s hláškou ).

    Vyšší utf asi nepomůže, protože to nejsou znaky. co ukládám, ale směsice - no prostě obrázek. Doposud používám fci mysqli::real-ecsape-string, ale ta nedokáže hlášce zabránit.

    Díky za každou dobrou radu.

    Řešení dotazu:


    Odpovědi

    25.6.2020 08:44 EtDirloth | skóre: 11
    Rozbalit Rozbalit vše Re: mariadb (mysql) : invalid utf8 character string
    Bolo by fajn spomenut verziu DB a ukazat strukturu tabulky + prikazu.

    Bez tychto detailov mi napada, ze to ide do nejakeho varcharu (ktory implikuje ten charset), a teda treba pouzit typ stlpca priamo urceny pre binarne data. Napriklad blob a jeho varianty, resp. varbinary.
    25.6.2020 09:31 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: mariadb (mysql) : invalid utf8 character string
    Ahoj.

    Verze serveru: 5.7.30-0ubuntu0.18.04.1 - (Ubuntu)

    struktura tabukky
     	# 	Název 	Typ 	Porovnávání 	Vlastnosti 	Nulový 	Výchozí 	Komentáře 	Další 	Operace
    	1 	IDPrimární 	varchar(64) 	utf8_czech_ci 		Ne 	Žádná 			
    	2 	Data 	mediumblob 			Ano 	NULL 			
    	3 	Thumb 	mediumblob 			Ne 	Žádná 			
    	4 	Note 	varchar(200) 	utf8_czech_ci 		Ne 	Žádná 			
    	5 	Mime 	varchar(30) 	utf8_czech_ci 		Ne 	Žádná 			
    	6 	ThumbMime 	varchar(30) 	utf8_czech_ci 		Ne 	Žádná 			
    	7 	Name 	varchar(128) 	utf8_czech_ci 		Ne 	Žádná 			
    Data a Thumb jsou blob, bez určení typu porovnávání.

    sqlko ti moc nenapoví, to jsem udělal v zápisu chyby. K serveru se dostane :
    Zpráva MySQL : Warning : ( 1300 ) Invalid utf8 character string: 'FFD8FF'
    INSERT INTO Images SET ID='0058a74348546954cde69c66a293d283', Note='', Mime='image/jpeg; charset=binary', ThumbMime='image/jpeg; charset=binary', Name='csc_2020_12_ZS+PL_str02.jpg', Data='����\0?JFIF......tam někde je ta chyba
    na Data i Thubs použiju před ulokládaním real_escape_string

    Ještě upozornění : obrázek ani náhled nevypadají poškozeně, zobrazí se bez hlášek ...
    25.6.2020 09:32 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: mariadb (mysql) : invalid utf8 character string
    Možná potom real_escape_string je tím problémem.
    25.6.2020 09:38 EtDirloth | skóre: 11
    Rozbalit Rozbalit vše Re: mariadb (mysql) : invalid utf8 character string
    Ano, vyzera to tak - mysql_real_escape_string neescapuje multibyte znaky => interpretuje literal v kontexte charsetu pripojenia; preto na rozdiel od mysql_escape_string ma aj druhy parameter. Vyskusaj teda mysql_escape_string.
    25.6.2020 09:41 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: mariadb (mysql) : invalid utf8 character string
    To už jsem zkoušel, výsledek je stejný .. zapomněl jsem napsat.
    25.6.2020 09:48 EtDirloth | skóre: 11
    Rozbalit Rozbalit vše Re: mariadb (mysql) : invalid utf8 character string
    Potom mozno explicitne nastavit set_charset pri pouziti mysqli_real_escape_string?
    Řešení 1× (Milan Uhrák (tazatel))
    25.6.2020 11:54 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: mariadb (mysql) : invalid utf8 character string
    Píšu, že charset nic nemění. Nakonec jsem přes jiné otázky googlu našel funkci load_file, která zohlednuje blob pole, a nereflektuje charset ... trochu drbání levou rukou za pravým uchem, no, ale budiž.

    Uhrák
    Řešení 1× (Filip Jirsák)
    25.6.2020 13:40 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: mariadb (mysql) : invalid utf8 character string
    Binární data nemůžete vkládat jen tak v insertu, musíte je buď převést do bezpečné podoby base64 nebo hex anebo je vložit tou funkcí load_file. Koukněte na příklady do dokumentace k příslušné databázi. Taky koukněte, jak jsou ty bloby reprezentované při dumpu databáze.
    -- OldFrog
    20.7.2020 06:37 PetrHL | skóre: 17 | blog: petr_h | Neratovice
    Rozbalit Rozbalit vše Re: mariadb (mysql) : invalid utf8 character string
    Nepoužívejte utf8. Je to alias pro utf8mb3 a to nechcete. Vždy používejte utf8mb4.
    "Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.