Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Konwersja znaków iso-8859-2 na UTF-8, Jak to zrobić "masowo"
gilbo
post
Post #1





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 16.04.2004
Skąd: z domu

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


Witam piszę moją stronę od nowa. Zdecydowałem się na kodowanie UTF-8, podczas gdy poprzednia wersja oparta na php-fusion była w iso-8859-2. Mam bazę danych, w której posiadam 418 rekordów i prawie każdy rekord ma jakieś polskie litery. I teraz mam kłopot i proszę o pomoc czy istnieje jakaś metoda, polecenie, funkcja za pomocą której mogę przekonwertować te prawie pół tysiąca rekordów czy muszę wszystko wpisywać od nowa?

Pozdrawiam i proszę o pomoc:)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
sticker
post
Post #2





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

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


poszukaj na tym forum pod hasłem grzegrzółka czy jakoś tak (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
gilbo
post
Post #3





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 16.04.2004
Skąd: z domu

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


Niestety pod tym hasłem nie znalazłem nic ciekawego...
Znalazłem, że rozwiązaniem może być:
  1. SET NAMES 'utf8'

Niestety mimo wszystko mam źle wyświetlane. Jedyna zmiana to, że zamiast kwadracików mam np. znaki zapytania i inne krzaczory...

Proszę o pomoc!
Go to the top of the page
+Quote Post
tiraeth
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


Nie, nie, nie i jeszcze raz - nie.

Operacje wykonuj w phpMyAdmin:
1) Eksportuj bazę rekordów do pliku .sql (tylko dane, bez struktury)
2) Strukturę wyeksportuj do pliku tekstowego, po czym wywal informacje o kodowaniu (DEFAULT ENCODING etc.), ewentualnie zastąp latin2_general_ci utf8_general_ci
3) Skorzystaj z iConv Online (input:ISO-8859-2 output:UTF-8) by przekonwertować plik z danymi
4) Importuj strukturę (zachowując UTF-8)
5) Importuj dane (zachowując UTF-8)

To tak w skrócie, do reszty dojść sam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
gilbo
post
Post #5





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 16.04.2004
Skąd: z domu

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


Witam,

wielkie dzięki za okazaną pomoc. Jak zwykle użytkownicy forum.php.pl okazali się nie zawodni i problem został rozwiązany:)

Musiałem tylko wykorzystać metodę tiraeth'a i dodać jednak to SET NAMES 'utf8' i wszystko już śmiga.

Pozdrawiamm i jeszcze raz dziękuję!
Go to the top of the page
+Quote Post
osiris
post
Post #6





Grupa: Zarejestrowani
Postów: 121
Pomógł: 15
Dołączył: 19.07.2007

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


Dwa szybkie sposoby:
1. Nic nie konwertuj, samo ustawianie kodowania (SET NAMES) przy laczeniu z baza wystarczy wystarczy (jesli dalej masz krzaczki to cos zle robisz).
2. stworz sobie tabele o takich samych strukturach tylko z kodowaniem utf8. Potem dla kazdej tabeli wykonaj:
  1. INSERT INTO tabela_new (SELECT * FROM tabela_old);

mysql sam zadba o konwersje.

Sam z powodzeniem korzystalem z obu sposobow.

Ten post edytował osiris 3.08.2007, 12:13:46
Go to the top of the page
+Quote Post
mrc
post
Post #7





Grupa: Zarejestrowani
Postów: 160
Pomógł: 27
Dołączył: 22.09.2008
Skąd: Tarnów

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


  1. <?php
  2. mysql_query("SET NAMES 'UTF8'");
  3. ?>
Go to the top of the page
+Quote Post
JJ79
post
Post #8





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 28.01.2010

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


Witam .. na samym początku przeproszę ale jestem laikiem w tym temacie, piszę jednak, gdyż już przerabiam ten post ponad godzinę.
Postapiłem zgodnie ze wskazówkami tiraeth'a niestety przy próbie importu struktury otrzymuję komunikat
(IMG:http://www.mrowisko.org/download/db1.jpg)

Jeszcze jedno .. gdzie dodaję
  1. 1.
  2. <?php
  3. 2.
  4. mysql_query("SET NAMES 'UTF8'");
  5. 3.
  6. ?>

Z góry dziękuję za odpowiedź
Go to the top of the page
+Quote Post
Max Damage
post
Post #9





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


1. Przecież pisze jak byk, że baza o takiej nazwie już istnieje.
2. Wystarczy poszukać: LINK
3. Proponowałbym następnym razem założyć nowy temat, zamiast odświeżać stary.
Go to the top of the page
+Quote Post
JJ79
post
Post #10





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 28.01.2010

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


Dzieki za pomoc ... jak wiadac byl to moj pierwszy post ... ale ... narta
Go to the top of the page
+Quote Post
Karolinah
post
Post #11





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 22.12.2009

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


I ja się dołączę do tematu, bo po co dublować. To co napisał tiraeth już ktoś mi ostatnio radził, ale ja tego kompletnie ni w nogę nie rozumiem. Program Gżegżółka znalazłam parę dni temu, ale jak sprawdzić że baza w tym programie rzeczywiście przekonwertuje się do utf a nie zostanie taka jak poprzednio? Nie znam się w ogóle ani na bazach ani na kodzie. Jedynie potrafię zrobić w PhpMyAdminie backup, stąd naprawdę trudno mi tą poradę wykonać. Czy ktoś ma może jakiś pomysł na to? Muszę 3 bazy przekonwertować do utf-8 w e107. Strony mam w utf, ale bazy już nie.
Go to the top of the page
+Quote Post
Mondrunio
post
Post #12





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 21.11.2008
Skąd: Grudziądz

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


Miałem niedawno podobny problem Baza była zakodowana w UTF8, a po stronie przeglądarki wyskakiwały bujne krzaczki.. zrobiłem coś takiego
mysql_query('SET NAMES "utf8","latin-2"'); poszło od kopa. (IMG:style_emoticons/default/ph34r.gif)
Go to the top of the page
+Quote Post

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: 8.02.2026 - 00:40