464 pregleda
Hrvoje Novak u rubrici Programiranje od Hrvoje Novak [Megaktivan] (12.7k bodova)
uređen od Znatko

Guglam, čitam i ništa. Sve je to jedna zbrka od rješenja koja mi (još) ne rade. Zna tko kako se elegantno može cijela baza sa svim tablicama koja imaju polja u formatu Windows-1250 postaviti u charset UTF-8?

Naravno, treba sačuvati sve vrijednosti unutar tablica.

Našao sam jednostavan kod, ne kužim poantu, ali mi neće raditi.

alter table TABLE_NAME modify FIELD_NAME blob;

alter database DATABASE_NAME charset=utf8;

alter table TABLE_NAME modify FIELD_NAME varchar(255) character set utf8;

Je, stavio sam ja svoje podatke za table_name, filed_name, database_name....i padam već na prvom upiti u MySQL. Poruka o grešci ispisuje sljedeče:

error: BLOB/TEXT column 'ime' used in key specification without a key length

Pomagajte drugovi.

Prijavite se ili registrirajte kako biste odgovorili na ovo pitanje.

1 odgovor

+3 glasa
Duh Robot od Duh Robot [Superaktivan] (3.1k bodova)

Pozdrav!

Jedan od načina je napraviti eksport(dump) cijele baze, zamijeniti default charset iz Windows-1250 u UTF-8 i importirati nazad u MySQL.

Ovisno o alatu i platformi na kojoj se radi, postupak se može razlikovati, ali u principu je vrlo slično.

Za sam eksport/import se može koristiti command line program "mysqldump", ako je korisnik upoznat s takvim načinom rada, a može se koristiti i neki od desktop ili web upravitelja MySQL bazom podataka poput "MySQL Workbench" za desktop ili "Adminer" za web.

Sama zamjena charseta se može jednostavno napraviti funkcijom "Search&Replace" unutar text datoteke koja se dobije prilikom eksportiranja baze u nekom tekst editoru. Za tu namjenu preporučujem program pod nazivom "Notepad++".

Moguće je da se prilikom importiranja neće neki specijalni znakovi dobro spremiti u bazu, pa je poželjno na vrh datoteke prije naredbe za kreiranje baze dodati naredbu "SET NAMES utf8;".

Primjer SQL skripte za kreiranje baze s UTF-8 charsetom bi mogao izgledati ovako:

SET NAMES utf8;
DROP DATABASE IF EXISTS `baza`;
CREATE DATABASE `baza`
USE `baza`;

DROP TABLE IF EXISTS `korisnici`;
CREATE TABLE `korisnici` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ime` varchar(25) NOT NULL,
  `prezime` varchar(50) NOT NULL,
  `e-mail` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Slična pitanja

2 odgovora 270 pregleda
1 odgovor 580 pregleda
1 odgovor 352 pregleda
1 odgovor 237 pregleda
Goran Dren 21.03.2014. pitanje u rubrici Web Hosting od Goran Dren [Ekstraktivan] (5.4k bodova)
1 odgovor 306 pregleda
Goran Dren 13.04.2014. pitanje u rubrici Web Hosting od Goran Dren [Ekstraktivan] (5.4k bodova)
1 odgovor 219 pregleda
Mario Daka 01.07.2014. pitanje u rubrici Web Poslovanje od Mario Daka [Megaktivan] (15.6k bodova)
1 odgovor 284 pregleda
2 odgovora 1.7k pregleda
2 odgovora 193 pregleda
1 odgovor 263 pregleda
2 odgovora 1.5k pregleda
Goran Dren 02.01.2014. pitanje u rubrici Internet od Goran Dren [Ekstraktivan] (5.4k bodova)
1 odgovor 2.3k pregleda
1 odgovor 226 pregleda
Znatko medijski pokriva

CRO commerce 2022



Najnoviji eCommerce trendovi na četvrtoj CRO commerce konferenciji u organizaciji trgovaca

Zagreb, 07.10.2022.

ULAZNICE
Znatko medijski pokriva

Prijava
Znatko medijski pokriva


Ignite the Spark

Zagreb, 13.10.2022.

ULAZNICE
Znatko medijski pokriva

‘ko?VA! Konferencija VIRTUALNI ASISTENT


Prva konferencija u Hrvatskoj namijenjena virtualnim asistentima i svima koje zanima svijet virtualne asistencije

Zagreb, 21.10.2022.

Ulaznice putem ENTRIO sustava
Znatko medijski pokriva


Phygital – the future of retail!

Konferencija namijenjena robi široke potrošnje (FMCG).

22.10.2022.
Mozaik Centar Zagreb


PRIJAVA

Medijska platforma Znatko

NAJNOVIJE VIJESTI

Impressum | Znatkova redakcija

Gdje pratiti Znatka?



[ Pretraživanje Znatka ]

9.3k pitanja

14.7k odgovora

3.2k komentara

1.4k korisnika

...