Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

[PMA] zmiana kodowania bazy.


net

Rekomendowane odpowiedzi

  • Odpowiedzi 61
  • Dodano
  • Ostatniej odpowiedzi

Top użytkownicy w tym temacie

Top użytkownicy w tym temacie

Naprawiałem mojego Parduska który i tak lezy :D

A w bazie wygląda to tak:

Witajcie,<br />

po do¶æ d³ugiej przerwie która by³a spowodowana uszkodzeniem bazy danych postanowi³em, ¿e e-gfx ponownie wróci do sieci.<br />

Sporo czasu spêdzi³em my¶l±c czy to jest sens - czy jest, do tej pory tego nie wiem, wszystko zale¿y od Was, u¿ytkowników.<br />

<br />

Mam zamiar zrobiæ forum, które bêdzie tworzone przez u¿ytkowników.<br />

Odnośnik do komentarza
Udostępnij na innych stronach

Ok, zapomniałem jeszcze o jednej rzeczy, że w przypadku kilkukrotnego uruchomienia skryptu, za każdym razem do pliku nowyplikbazy.sql będzie dodawana kolejna zawartość a tego nie chcemy. To już jest końcowy i poprawny kod jaki powinien znajdować się w pliku konwerter.php

    
    <?php
      $krzaki = array( 'Ä„', 'Ć', 'Ę', 'Å', 'Ń', 'Ó', 'Åš', 'Å»', 'Ź', 'Ä…', 'ć', 'Ä™', 'Å‚', 'Å„', 'ó', 'Å›', 'ż', 'ź', );
      $ogonki = array( 'Ą', 'Ć', 'Ę', 'Ł', 'Ń', 'Ó', 'Ś', 'Ż', 'Ź', 'ą', 'ć', 'ę', 'ł', 'ń', 'ó', 'ś', 'ż', 'ź' );
       $file = "nowyplikbazy.sql";   
       $test = file_exists($file);
       if ($test)
        {
        echo "Skasuj plik nowyplikbazy.sql na serwerze i ponownie uruchom skrypt konwerter.php";
        }
        else
        {
       $fp = @fopen("plikbazy.sql", "r");
       if ($fp) {
             while (!feof($fp)) {
             $buffer = fgets($fp, 4096);
             $buffer =  str_replace( $krzaki, $ogonki, $buffer );
             flock($fp, 2);
             $fp2 = fopen($file, "a");
             fputs($fp2, $buffer); 
             flock($fp, 3); 
                                }
                }
                            fclose  ($fp);
                fclose  ($fp2);
                echo "Koniec konwersji";
                 }
    
    ?>
    
    
    

Objaśnienia:

plikbazy.sql - to plik bazy, który trzeba przekonwertować

nowyplikbazy.sql - plik o tej nazwie zostaje automatycznie utworzony i w nim znajduję się przekonwertowana zawartość pliku plikbazy.sql

konwerter.php - UTF-8

A ja jednak wg. tego skryptu przekonwertowałem bazę danych na UTF-8 na własnym localhost :D Net: Musisz robić coś źle, bo u mnie zadziałało to bez problemu.

Znaki w bazie:


"Nieobecno¶ci" "Lista Administratorów !" "Tablica Og³oszeñ" "Wyp³aty" 

Dzięki Matma za skrypt, bo na IPB2 z grzegrzółką nie dawałem rady przekonwertować a tu na IPB 3 się udało :D

Edytowane przez DiKei
Odnośnik do komentarza
Udostępnij na innych stronach

Ja testowałem ten skrypt na plikach bazy 30MB i wykonywało konwersje w jakieś 5 sekund

A z jakiego kodowania na jakie robiłeś? Z latin1 na utf8? Tu masz opisane co i jak:

http://forum.invisio...?showtopic=3829

Należy pamiętać o tym by przed wrzuceniem przekonwertowanego pliku bazy na serwer zmienić kodowanie bazy na utf8 i porównywanie na utf8_general_ci

46279b204b.png

Rozwiążemy dla Ciebie każde zadanie z matematyki: http://matma4u.pl

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Jednak to kodowanie latin1 robi więcej zamieszania i problemów niż nam się wydaje. Muszę się za to wziąć porządnie. :D

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

A jednak, skrypt na IPB 3 wysiadł przy dodaniu paru postów - Dziwne ...

Co masz na myśli mówiąc wysiadł? Co robiłeś, że wysiadł?

Piszesz tak enigmatycznie, że nie wiadomo o co chodzi?

Po wgraniu bazy robiłeś optymalizację tabel? Często tak bywa że wyniku niezoptymalizowanych tabel "wywala" błąd

Zrób kopie bazy tej na IPB2 i podaj linka do ściągnięcia na PW to zobaczę co tam masz namieszane.

46279b204b.png

Rozwiążemy dla Ciebie każde zadanie z matematyki: http://matma4u.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Jednak to kodowanie latin1 robi więcej zamieszania i problemów niż nam się wydaje. Muszę się za to wziąć porządnie. :D

Z tego co pisze DiKei nie wynika, że problem jest z bazą. W ogóle nic nie wynika, czeski film, bo tak opisał sytuację że tylko jasnowidz mógłby wiedzieć o co mu chodzi.

46279b204b.png

Rozwiążemy dla Ciebie każde zadanie z matematyki: http://matma4u.pl

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Z tego co pisze DiKei nie wynika, że problem jest z bazą. W ogóle nic nie wynika, czeski film, bo tak opisał sytuację że tylko jasnowidz mógłby wiedzieć o co mu chodzi.

Wczuwaj się wczuwaj, ja to mam na co dzień. :-)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Wytłumaczę ponownie:

1. Przekodowałem skryptem matma4u bazę IPB 3 na UTF-8[Odziwo były polskie znaki].

2. Ucieszony tym faktem dopisałem pare tematów sprawdzając ... I tu zonk, znów powróciło do krzaków.

:D Najprościej jak się tylko dało

Poczekajmy na efekty pracy DawPiego :D

Edytowane przez DiKei
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.