Skocz do zawartości
websign

Łączenie z zewnętrzną bazą IQ.PL - kodowanie znaków

Polecane posty

Witam

 

Mam bazę na IQ.PL w utf-8 - na stronie na IQ.PL wszystko jest ok.

 

Gdy próbuję się do tej samej bazy dostać z zewnątrz, niestety w żaden sposób nie jestem w stanie wymusić, żeby znaki były zakodowane poprawnie.

 

Do tej pory korzystałem z podobnego rozwiązania, z tym, że strona była w iso-8859-2 (latin2) i wszystko działało bezproblemowo, a przy uruchomieniu nowej strony i decyzji o przejściu na utf-8 niestety jest problem przy połączeniu z bazą z innego komputera.

 

Na IQ.PL w phpmyadmin dla

 

SHOW VARIABLES LIKE 'character_set%';

 

mam

 

character_set_client latin2 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results latin2 character_set_server utf8 character_set_system utf8 character_sets_dir /usr/local/mysql-5.0.45-linux-x86_64-icc-glibc23/s...

 

 

a dla podobnej bazy na localhost mam:

 

character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 character_sets_dir c:\wamp\bin\mysql\mysql5.0.51b\share\charsets\

 

SET NAMES w php na IQ nie działa i generalnie jak nie kombinuję, tak jak z localhosta łączę się z tą bazą, niestety polskie znaki są niepoprawnie kodowane. Ma ktoś może pomysł co z tym zrobić?

 

Pozdrawiam

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Witam

 

Mam bazę na IQ.PL w utf-8 - na stronie na IQ.PL wszystko jest ok.

 

Gdy próbuję się do tej samej bazy dostać z zewnątrz, niestety w żaden sposób nie jestem w stanie wymusić, żeby znaki były zakodowane poprawnie.

 

Do tej pory korzystałem z podobnego rozwiązania, z tym, że strona była w iso-8859-2 (latin2) i wszystko działało bezproblemowo, a przy uruchomieniu nowej strony i decyzji o przejściu na utf-8 niestety jest problem przy połączeniu z bazą z innego komputera.

 

Na IQ.PL w phpmyadmin dla

 

SHOW VARIABLES LIKE 'character_set%';

 

mam

 

character_set_client latin2 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results latin2 character_set_server utf8 character_set_system utf8 character_sets_dir /usr/local/mysql-5.0.45-linux-x86_64-icc-glibc23/s...

 

 

a dla podobnej bazy na localhost mam:

 

character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 character_sets_dir c:\wamp\bin\mysql\mysql5.0.51b\share\charsets\

 

SET NAMES w php na IQ nie działa i generalnie jak nie kombinuję, tak jak z localhosta łączę się z tą bazą, niestety polskie znaki są niepoprawnie kodowane. Ma ktoś może pomysł co z tym zrobić?

 

sprobój set names latin2; na localhoscie,

masz prawdopodobnie źle zakodowane znaki w bazie, ustawiajac set names tak jak na phpmyadminie powinienes dostac poprawe poprawne znaki w utf-8

 

trzeba pamietac o tym ze ustawienie kodowania bazy nie wpływa na kodowanie z jakim bedzie sie odbywac komunikacja z mysql i pewnie wrzuciles utf8 do bazy mimo ze polaczenie bylo ustawione na latin2

 

--

Lazy

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
sprobój set names latin2; na localhoscie,

 

Dzięki, rzeczywiście działa, że też sam na to nie wpadłem ;)

 

masz prawdopodobnie źle zakodowane znaki w bazie, ustawiajac set names tak jak na phpmyadminie powinienes dostac poprawe poprawne znaki w utf-8

 

trzeba pamietac o tym ze ustawienie kodowania bazy nie wpływa na kodowanie z jakim bedzie sie odbywac komunikacja z mysql i pewnie wrzuciles utf8 do bazy mimo ze polaczenie bylo ustawione na latin2

 

No dobrze, ale w takim razie jak mogę wymusić połączenie przed wgraniem bazy? Importowałem przez phpmyadmina przy ustawieniach:

 

  • System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
  • System porównań dla połączenia MySQL: utf8_general_ci

oraz polski (utf-8).

 

Czy powinienem w phpmyadminie wykonać jeszcze jakąś komendę, żeby w takiej sytuacji "poprawnie" zaimportować dane ("poprawnie", bo teraz dane też się wydają poprawne po wejściu przez phpmyadmina - z polskimi znakami nie ma problemów)?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dzięki, rzeczywiście działa, że też sam na to nie wpadłem ;)

 

 

 

No dobrze, ale w takim razie jak mogę wymusić połączenie przed wgraniem bazy? Importowałem przez phpmyadmina przy ustawieniach:

 

  • System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
  • System porównań dla połączenia MySQL: utf8_general_ci

oraz polski (utf-8).

 

Czy powinienem w phpmyadminie wykonać jeszcze jakąś komendę, żeby w takiej sytuacji "poprawnie" zaimportować dane ("poprawnie", bo teraz dane też się wydają poprawne po wejściu przez phpmyadmina - z polskimi znakami nie ma problemów)?

 

to sa tylko kodowania domyslne, i tak set names w zrzucie ustawi sobie co chce

 

wazna jest tylko 1 rzecz

1) na poczatku zrzutu za pomoca set names musi byc oznaczone kodowanie pliku

 

w twoim przypadku

zrob tak

1) zrzut z set names latin2, by uzyskac poprawny tekst utf8

2) zamien set names lain2 na set names utf8 i zaimportuj ponownie, najlepiej do jakies 2giej bazy

3) pododawaj wszedzie gdzie chcesz uzywac utf8 set names utf8 zaraz po nawiazaniu polaczenia

 

--

Lazy

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie próbowałem sam wykonać, zrobił to dla mnie ktoś inny i ponoć baza jest teraz "super utf8" tzn. wszystko poprawnie zakodowane. Z tym tylko, że przy poprawnie zakodowanej bazie w utf8 nie da się jej teraz w ogóle przeglądać w phpmyadmin, bo jak w phpmyadmin daję

 

SHOW VARIABLES LIKE 'character_set%';

 

to mi się nadal pokazuje:

 

character_set_client latin2 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results latin2 character_set_server utf8 character_set_system utf8 character_sets_dir /usr/local/mysql-5.0.45-linux-x86_64-icc-glibc23/s...

 

a korzystam z phpmyadmina ogólnie dostępnego na hostingu, więc tam sobie już set names nigdzie w kodzie php dodać nie mogę...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Nie próbowałem sam wykonać, zrobił to dla mnie ktoś inny i ponoć baza jest teraz "super utf8" tzn. wszystko poprawnie zakodowane. Z tym tylko, że przy poprawnie zakodowanej bazie w utf8 nie da się jej teraz w ogóle przeglądać w phpmyadmin, bo jak w phpmyadmin daję

 

SHOW VARIABLES LIKE 'character_set%';

 

to mi się nadal pokazuje:

a korzystam z phpmyadmina ogólnie dostępnego na hostingu, więc tam sobie już set names nigdzie w kodzie php dodać nie mogę...

 

phpmyadmin chyba ma problemy z ustawianiem odpowiedniego kodowania polaczenia,

najprosciej ustaw kodowanie strony (jezyk) na latin2 czyli tak jak jest ustawione kodowanie polaczenia, i edytuj dane w latin2, i tak wszystko zostanie przekodowane na utf8

 

--

lazy

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

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

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×