Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmiana kodowania danych na UTF8 z poziomu MySQLa?, wiele baz i jeszcze więcej danych
tryme
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 5.12.2005

Ostrzeżenie: (0%)
-----


Witam Serdecznie,

Muszę zmienić kodowanie danych w tabelach (kolumna text, kodowanie latin1_swedish_ci) na UTF-8 (text, utf8_general_ci). Mam wiele baz z tysiącami rekordów w tabelach. Chciałbym zrobić to najlepiej za pomocą poleceń MySQLa niż skryptem PHP a tym bardziej dumpowaniem baz i konwertowaniem znaków za pomocą iconv.

Próbuję poniższych komend

  1. ALTER TABLE tabela CHARACTER SET utf8;
  2. ALTER TABLE tabela CHANGE kolumna kolumna BLOB;
  3. ALTER TABLE tabela CHANGE kolumna kolumna TEXT CHARACTER SET utf8;


lecz po ich wykonaniu dane w tabeli są ucinane od miejsca, gdzie powinien występować polski znak (np. dla danych KOŃ JEST FAJNY zmieni na KO).

Próbuję również takich komend

  1. ALTER DATABASE baza CHARACTER SET utf8 COLLATE utf8_general_ci;
  2. ALTER TABLE baza.dane CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;


lecz tutaj kodowanie się nie zmienia.

Co robię źle?

Czy da się to w ogóle wykonać taką operację z poziomu MySQLa?

Problem udało się chyba rozwiązać samemu (IMG:style_emoticons/default/yahoo.gif)

Wpierw zmiana z latin1 na latin2 a potem utf8.

  1. ALTER TABLE tabela CHANGE kolumna kolumna BLOB;
  2. ALTER TABLE tabela CHANGE kolumna kolumna TEXT CHARACTER SET latin2;
  3. ALTER TABLE tabela CHANGE kolumna kolumna TEXT CHARACTER SET utf8;


Problemów ciąg dalszy.

Jak zmienić bezboleśnie znaki specjalne Latin-1 wyglądające mniej wiecej tak: &# 169; (oczywiście bez spacji w środku)?

Ten post edytował tryme 30.08.2013, 15:56:29
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 04:20