Forum » Programiranje » [MariaDB] Insert unicode chars... FIX-ed
[MariaDB] Insert unicode chars... FIX-ed
![](https://static.slo-tech.com/stili/avatar_gray.gif)
HotBurek ::
Dobro jutro.
Evo, nov dan, nov izziv.
Pri vnosu podatkov v tabelo pri nekaterih vnosih dobim sledeč error:
Sedajle sem telovadil na bazi. Nekaj dokumentacije:
Porihtal sem vse:
Pa mi še kar javlja error.
Zanimivo je, da če naredim novo testno tabelo z istimi podatki za charset in collation kot zgoraj, tam pa dela.
Sedaj pa. Ker nimam nobene potrebe po shranjevanju teh znakcev (vsaj zaenkart ne), me zanima, kako bi lahko v Python-u nek string peljal žez proceduro, in iz stringa odstranil vse te znakce?
Primer:
input = HOGO sprchový gel + ZDARMA 🎁 textilní houbička na mytí, 500 ml
output = HOGO sprchový gel + ZDARMA textilní houbička na mytí, 500 ml
Se pravi, da odstrani tisto škatlco.
-----------------------------------------------------------------------------------------------------------------
UPDATE
Zdej sem ugotovil, da če ta query, ki faila, poženem direk (preko DBeaver klienta), pa naredi insert. Se prav, da je Sqlalchemy problem.
----------------------------------------------------------------------------------------------------------------
FIX
Potrebno je bilo nastavit charset na client strani, in spremenit utf8 v utf8mb4.
Info vir: https://stackoverflow.com/questions/247...
Zarad bogih 3 črk ni delal. Krneki so ti računalniki.
Evo, nov dan, nov izziv.
Pri vnosu podatkov v tabelo pri nekaterih vnosih dobim sledeč error:
sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1366, "Incorrect string value: '\\xF0\\x9F\\x8E\\x81 t...' for column ``.``.`p_name` at row 1")
Sedajle sem telovadil na bazi. Nekaj dokumentacije:
https://stackoverflow.com/questions/2108824/mysql-incorrect-string-value-error-when-save-unicode-string-in-django https://sebhastian.com/mysql-incorrect-string-value/ https://code.djangoproject.com/ticket/18392#comment:19 https://mariadb.com/kb/en/innodb-system-variables/#innodb_large_prefi
Porihtal sem vse:
V /etc/mysql/mariadb.conf.d/50-server.cnf sem vnesel innodb_large_prefix = 1, ter service mariadb restart Tabela ima charset utf8mb4, collation utf8mb4_general_ci Pognal OPTIMIZE TABLE `table`;
Pa mi še kar javlja error.
Zanimivo je, da če naredim novo testno tabelo z istimi podatki za charset in collation kot zgoraj, tam pa dela.
Sedaj pa. Ker nimam nobene potrebe po shranjevanju teh znakcev (vsaj zaenkart ne), me zanima, kako bi lahko v Python-u nek string peljal žez proceduro, in iz stringa odstranil vse te znakce?
Primer:
input = HOGO sprchový gel + ZDARMA 🎁 textilní houbička na mytí, 500 ml
output = HOGO sprchový gel + ZDARMA textilní houbička na mytí, 500 ml
Se pravi, da odstrani tisto škatlco.
-----------------------------------------------------------------------------------------------------------------
UPDATE
Zdej sem ugotovil, da če ta query, ki faila, poženem direk (preko DBeaver klienta), pa naredi insert. Se prav, da je Sqlalchemy problem.
----------------------------------------------------------------------------------------------------------------
FIX
Potrebno je bilo nastavit charset na client strani, in spremenit utf8 v utf8mb4.
sqlhost = "mysql://user:password@localhost:3306/database?autocommit=true&charset=utf8"; sqlhost = "mysql://user:password@localhost:3306/database?autocommit=true&charset=utf8mb4";
Info vir: https://stackoverflow.com/questions/247...
Zarad bogih 3 črk ni delal. Krneki so ti računalniki.
![8-O](https://static.slo-tech.com/smeski/icon_eek.gif)
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
- spremenilo: HotBurek ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [MariaDB] Kje se nahaja nastavitev za "innodb_file_per_table"?Oddelek: Programiranje | 537 (466) | HotBurek |
» | Postavitev mySQLOddelek: Programiranje | 2269 (1847) | M01O |
» | [UWP] [C#]Oddelek: Programiranje | 4233 (2263) | BivšiUser2 |
» | [php] encoding nizaOddelek: Izdelava spletišč | 3942 (1857) | BivšiUser2 |
» | Šumniki v php-juOddelek: Izdelava spletišč | 4775 (3278) | JoSmo |