Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Baza Latin2 źle importuje?
Forum PHP.pl > Forum > Bazy danych
aras785
Cześć,

otrzymałem od klienta (który otrzymał od zew. firmy) backup bazy. W jednym pliku mam strukturę bazy:

  1. CREATE TABLE IF NOT EXISTS `example` (
  2. `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `name` varchar(100) NOT NULL DEFAULT '',
  4. `content` longtext NOT NULL,
  5. PRIMARY KEY (`id`)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=latin2;


i w drugim pliku mam dane:

  1. INSERT INTO `example` (`id`,`name`,`content`) VALUES ('123','title','RODZAJ ZAJ??:');
link bo forum zmienia wynik: https://i.imgur.com/rLVbfQj.png

Tworzę na lokalu bazę danych w kodowaniu: latin2_generali_ci

Po zaimportowaniu w bazie danych nadal widzę taki krzaki. Utworzyłem sobie plik php (latin2, utf8) i nadal otrzymuje tekst bez polskich znaków:

  1. $pdo = new PDO(
  2. "mysql:host=localhost;dbname=baza",
  3. "root",
  4. "",
  5. array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES latin2")); // lub utf8
  6.  
  7. $statement = $pdo->query('SELECT * FROM example WHERE id=123');
  8. $a = $statement->fetch();


Robię coś źle? A może otrzymałem bubel?

Dzięki
viking
Albo otwierasz w edytorze ze złym kodowaniem albo dostałeś bubel.swoją drogą pora na utf8 przejść.
Tomplus
Pamiętam że sam miałem problemy z krzakami mimo że edytor obsługiwał takie kodowanie. Sam .sql był w porządku do momentu gdy nie modyfikowało się jego zawartości notatnikiem o złym kodowaniu. Wtedy całe kodowanie wcześniejsze szlag trafiał.

Więc w zależności od tego ile jest tam treści, możesz sam przepisać na UTF-8.
aras785
Cześć.

Odpaliłem sobie linuxa i użyłem komendy:
  1. iconv -f iso-8859-2 -t utf-8 baza_latin2.sql > baza_utf8.sql


następnie zmodyfikowałem w pliku baza_utf8.sql kod odpowiedzialny za strukturę:

z
  1. ENGINE=MyISAM DEFAULT CHARSET=latin2;


na
  1. ENGINE=InnoDB DEFAULT CHARSET=utf8;


Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.