![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 27.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
zainstalowałem ostatnio najnowszego mysql'a i nie wiedzieć czemu w phpmyadminie pojawila sie nowa kolumna, we właściwościach / strukturze pola o nazwie "Metoda porównywania napisów", wszędzie o wartości "latin1_swedish_ci", nie mam pojęcia co to jest, a gdy chcę wpisać jakieś polskie znaki w phpmyadminie to zostają one zamienione na "?"
macie w ogole jakieś pojęcie jak to rozwiązać, bo ja nie! tak więc proszę o pomoc, ponieważ nie moge nic robić ze stroną ![]() wielkie dzięki -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 210 Pomógł: 0 Dołączył: 31.01.2004 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź czy na stronie głównej phpmyadmin masz ustawione: "Language: Polish (pl-iso-8859-2)"
-------------------- Warsztat: Apache 1.3.36 | MySQL 4.1.19 | php 5.1.4 | OS Linux SUSE 10.3 x86_64 | Kernel 2.6.22.12-0.1 | Opera 9.5 | Kate
Na warsztacie: Ekartki |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 27.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
hehe, tak jasne, tutaj problem tkwi w czym innym, w mysql'u, tylko nie wiem co poustawiac
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 8.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
przyłączam się do problemu, na głównej stronie mam
Language: (pl-utf-8) innego polskiego nie ma. Ale właśnie zastanawia mnie jak w temacie, że wszystkie tabele mają róbrykę "Metoda porównywania napisów" w której kodwanie jest "latin1_swedish_ci" Czemu tak jest? Wcześniej tak nei było... A po przywróceniu swerwisu z kopii wszędzie mam "?" znak zapytania zamiast polskich znaków. Czy można/trzeba zmienić te kodowanie "latin1_swedish_ci" na inne i na jakie? I co to jest te pole "Metoda porównywania napisów" ? Może ktoś pomóc, wyjaśnić?? Z góry dziękuję ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 9.08.2005 Skąd: Zamość Ostrzeżenie: (0%) ![]() ![]() |
zmarnowałem nad tym prawie cały dzień
![]() ![]() probowałem ustawiać zmienne $cfg['DefaultLang'], $cfg['Lang'] w pliku konfiguracyjnym ale bez rezultatów. Kod /** * Language and charset conversion settings */ // Default language to use, if not browser-defined or user-defined $cfg['DefaultLang'] = 'en-iso-8859-1'; // Force: always use this language - must be defined in // libraries/select_lang.lib.php // $cfg['Lang'] = 'en-iso-8859-1'; // Default charset to use for recoding of MySQL queries, does not take // any effect when charsets recoding is switched off by // $cfg['AllowAnywhereRecoding'] or in language file // (see $cfg['AvailableCharsets'] to possible choices, you can add your own) $cfg['DefaultCharset'] = 'iso-8859-1'; Tak przy okazji to moj pierwszy post więc witam wszystkich :-) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 8.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
a poza tym, że zainstalowałeś nowe, to do jakich wniosków doszedłeś
![]() ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli instalujesz MySQL 4.1 na windzie to przy instalacji powinieneś wybrac jako domyślne kodowanie latin2 (czyli odpowiednik iso-8859-2) potem prawdopodobnie istnieje możliwość zmiany tego w jakimś pliku konfiguracyjnym (nie wiem nie patrzyłem).
Wtedy w phpMyAdmin domyślnie metoda porównywania napisów czyli kodowanie, którego używa baza przy wyszukiwaniu danych to latin2 i już nie masz krzaczków ani "?". Ja przy MySQL 4.1.12 używam phpMyAdmin 2.6.2-pl1. Żeby zaimportować plik sql ze starszych wersji MySQL zakodowanych w iso-8859-2 trzeba przy polu pliku ustawić Zestaw znaków dla pliku: latin2 inaczej będziesz miał w bazie krzaczki. Jeżeli chodzi o wybór języka w phpMyAdmin to nie ma to żadnego związku z kodowaniem w bazie poza utf-8 nie ma tam nic innego polskiego nie wiem dokładnie jak to działa w każdym razie przy wybranym interfejsie phpMyAdmin na utf-8 i przy domyślnym kodowaniu bazy na latin2 wszystko działa dobrze Ten post edytował NoiseMc 10.08.2005, 00:13:29 -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 398 Pomógł: 0 Dołączył: 13.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Ten serwer jest w necie, ustawione jest tak:
System porównań dla połączenia MySQL: utf8_general_ci System porównań (w tabeli): latin1_swedish_ci I w tym momencie jak dodaje jakies polskie znaki przez phpmyadmin to wyskakują praktycznie same znaki zapytania... Pomóżcie! -------------------- "Państwo to ja" Ludwik XIV
"Wróg zaatakuje to co kochasz" Ojciec Chrzestny "Wszystko powinno być proste jak to tylko możliwe, ale nie prostsze..." A. Einstein "Wyobraźnia jest ważniejsza niż wiedza" Albert Einstein "Nieprawda powtarzana wielokrotnie staje się prawdą" |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 9.08.2005 Skąd: Zamość Ostrzeżenie: (0%) ![]() ![]() |
hmm zainstalowałem starszy skrypt phpadmina, raz ze działa dobrze dwa ze mi sie bardziej podoba stary skrypt.
Wg problem tkwi nie w mysqlu tylko w phpMyAdminie. Imho znaki ktore trafiają do bazy zależą od kodowania jakie jest ustawione w phpMyAdminie, a ze w 2 wersjach 2.6.0 i bodajze 2.6.3 jakimś cudem nie mozna ustawic kodowania znaków phpMyadmina na iso-8859-2 tylko możliwe jest wybranie któregos kodowania UTF8, dlatego MySql zamienia znaki na "?". |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 398 Pomógł: 0 Dołączył: 13.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Już doszedłem o co chodzi...
W MySQL'u trzeba wybrać: System porównań dla połączenia MySQL: utf8_general_ci System porównań (w tabeli): latin1_swedish_ci Natomiast w skryptach po łączeniu się za bazą trzeba dodać:
Moze jeszcze pojawić sie problem z dodawaniem w phpmyadmin.... to wtedy wystarczy zrobic skrypt w php i ładnie dodaje... żeby byly polskie znaki... Chyba tylko "ź" nie działa... Ten post edytował gladiror 11.08.2005, 13:08:33 -------------------- "Państwo to ja" Ludwik XIV
"Wróg zaatakuje to co kochasz" Ojciec Chrzestny "Wszystko powinno być proste jak to tylko możliwe, ale nie prostsze..." A. Einstein "Wyobraźnia jest ważniejsza niż wiedza" Albert Einstein "Nieprawda powtarzana wielokrotnie staje się prawdą" |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 139 Pomógł: 0 Dołączył: 29.04.2002 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W pliku my.ini w windows w katalogu [dysk:\windows] pod pod linux'em musisz poszuakc bo nie pamietam
musisz ustawic na: # The MySQL server [mysqld] default-character-set=latin2 [client] default-character-set=latin2 Ponadto dla kazdej kolumny mozesz zmienic sytem porownan dla danej tabeli poprzez edycje jej i zmiane na odpowiednia wartosc ![]() -------------------- .: [ DV ] :.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 20.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Ja również borykam się z problemem kodowania polskich ogonków w MySQL. Podłapałem myśl yvana, że to phpMyAdmin jest winien i zrobiłem mały test. Mając plik *.sql wyeksportowany przez phpMyAdmin2.6.0-pl2 z bazy MySQL 4.0.x, zaimportowałem go z konsoli komendą "source /ścieżka/do/pliku/*.sql;" (wcześniej w konsoli wydajemy komendę "mysql", co wywoła znak zachęty MySQL'a) do bazy MySQL 4.1.12. Okazało się, że w bazie danych (przeglądanej przy pomocy phpMyAdmin) polskie znaki nie są już przedstawiane jako pytajniki, ale za pomocą innych znaków - nieogonków. Oto niektóre z nich: ³ - ł, ± - ą, ê - ę, ¶ - ś, æ - ć, ñ - ń ... Natomiast w przeglądarce jest wszystko w porządku, tam gdzie mają być polskie znaki, są polskie znaki. I teraz pojawia się kolejny problem: co się stanie, gdy wyeksportujemy powyższą bazę z MySQL 4.1.12 do pliku? W moim przypadku pojawiły się krzaczki nowego rodzaju, które po zaimportowaniu z powrotem oczywiście takie zostały i źle się wyświetlają. Podsumowując, import z konsoli, omijający phpMyAdmin, nie jest to dobre rozwiązanie. Pokazuje jednocześnie, że rzeczywiście phpMyAdmin bierze udział w problemie polskich znaków. Pozdrawiam |
|
|
![]() ![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 19.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio pojawilo sie wiele problemow z kodawaniem. Nowe wersje mysql i phpmyadmin wprowadzily troche zamieszanie. Nie inaczej jest u mnie. Mam strone i ponad 60 tabel w bazie na jakims serwerze. Wyekportowalem baze, ale po imporcie jej przez adminow pozostaly krzaki - generalnie: stringi pozostaly w kodowaniu utf-8 (unicode) a dluze teksty zapisane binarnie w latin2. Dziwna sprawa, admini serwerka powiedzieli, ze to nie ich wina...dlugo myslalem, co by tu zrobic, podeslalem im cala baze skonwertowana za pomoca Pajaczka. Gdy wrzucalem pojedynczo rekordy przez phpmyadmina przy zestawie znakow dla pliku utf-8 - wszystko bylo ok. Niestety tak duzego pliku nie moge sam wgrac ze wzgledu na zrywanie polaczenia, itp (30 MB) - jedyny sposob, to podrzucenie go adminom...niestety sa tak zje*** ze nie zrobili tego przez 3 dni...strona lezy 5 dni offline
![]() Dla wszystkich majacych podobny problem: ustawienie w bazie powinno byc na latin2, przez to, ze bylo na utf-8 zle sie wyeksportowalo, porownywanie napisow na latin2_general_ci.... Jesli juz masz zly plik z baza - mozna sprobowac go przekonwertowac za pomoca Pajaczka lub programu Gżegżółka. Mam tez gotowa funkcje - dzialajaca (po testach), zamieniajaca te krzaki:
Od razu mowie, ze script nie jest mojego autorstwa i znaleziony w I-necie, jedyna zmiana jaka dokonalem, to wstawienie polskich znakow zamiast ich dziesietnych odpowiednikow, bo z tym tez byly problemy.... Jesli ktos moze podac sposob jak ta funkcja potraktowac wszystkie pola z wszystkich tabel (albo tylko stringi), prosze o rozwiazanie. Mam nadzieje, ze mimo wszystko komus moje rozwazania sie przydadza ![]() |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 14.12.2004 Skąd: Legnica Ostrzeżenie: (0%) ![]() ![]() |
Witka
Dzieki za podsunięcie pomysłu ze starszym phpmyadminem, bardzo mi pomógł i paru siwych włosów oszczędził ![]() problem miałem taki sam na serwerze kupionym kilka dni temu (nie wiem czy wypada/wolno podawać co to za firma) - phpmyadmin tam zainstalowany nie miał do wyboru opcji języka pl-iso-8859-2 i po imporcie bazy wcześniej wyeksportowanej z poprzedniego serwera (i sprawdzonej grzegżółką oraz PL-Konwerterem, że jest w 100% ISO) miałęm właśnie ? zamiast pl znaków. Próbowałem nawet podmieniać URL (a właściwie końcówkę) tak żeby wymusić znaki w iso-8859-2, przy imporcie wybierałem zestaw latin2 dla pliku itd... Po wyeksportowaniu bazy z tego nowego serwera programy do konwersji głupiały podawały mi raz zestaw znaków utf-8 raz AtariST ![]() Co dziwne u mnie również pomogło wgranie 'swojego' phpmyadmina 2.5.7 - w nim od razu miałem właściwy lang ustawiony, import bazy powiódł się i pl znaczki są poprawnie zakodowane. Niemniej system porównań jest wszędzie ustawiony na latin1_swedish_ci i nie bardzo wiem czy nie niesie to jakichś konsekwencji późniejszych... dodałem już dane do tej bazy za pomocą interfejsu www (oscommerce) i jest ok... Na koniec jeszcze raz dzięki ![]() -------------------- palikowski.net - zaplątany w sieć | basoofka.net - basowi gitarzyści mile widziani | elimu.pl - cms/lamp - wideo instruktaże
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 1.12.2003 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Aby korzystać z polskich znaków w standardzie iso-8859-2 w środowiku pod windą należy :
1) w konfigu Apache wyrzucić linie AddDefaultCharset ISO-8859-1 2) system porównań dla bazy i tabel ustawić na latin2_general_ci 3) w kodzie php, odrazu po połączeniu z bazą wykonać dwie komendy (tak jak zwykłego SQL'a)
4) w samym headerze strony oczywiscie charset = iso-8859-2 W ten sposób dla sesji z mysql mamy ustawione odpowiednie kodowanie , pozwalająe na używanie PL znaków przy wyświetlaniu i dodawaniu danych. -------------------- MySQL said:
You have an error in your SQL syntax near ' `sygnatura` VARCHAR, NOT NULL |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 13.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
witam! nowy jestem
dzieki za skrypt. pół dnia straciłem. |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 7.11.2005 Skąd: Różanka:> Ostrzeżenie: (0%) ![]() ![]() |
To moj pierwszy post tutaj, wiec witam!
![]() Czy jesli mam wykupiony serwer, czyli nie mam tego wszystkiego u siebie na localhoscie, to tez moge przeinstalowac phpMyAdmina? A jesli tak, to jak to zrobic? (Wybaczcie, ale jestem blondynka i po prostu sie na tym nie znam ![]() Ten post edytował Nevermore 19.11.2005, 19:28:52 |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 13.10.2004 Skąd: Świnoujście Ostrzeżenie: (0%) ![]() ![]() |
Właśnie zmieniłem firmę hostingową i miałem ten sam problem ...
Synaps ... sposób działa rewelacyjnie i sprawdza się nienagannie ![]() Nevermore ... jeśli nie masz dostępu do źrodła samego phpMA to tylko admin może go przeinstalować. Natomiast ty możesz zamontować sobie własnego: http://www.phpmyadmin.net lub http://sourceforge.net/projects/phpmyadmin Pozdrowionka -------------------- <?php $Sign=Show->ToMe('Nie ma to jak zimny prysznic'); ?>
<span style="font-weight: bold;">Tools:</span> XAMPP | PHP 5 | MySQL 5 | Notepad++ |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 7.11.2005 Skąd: Różanka:> Ostrzeżenie: (0%) ![]() ![]() |
Spoko, juz sobie poradzilam. Wszystko jest tu! (Post dzola).
Skopiuje tutaj, gdyby ktos mial podobny problem. Sprawdzilam na sobie, procedura w 100% skuteczna: Cytat(dzolo na forum.webhelp.pl) Witam!
Napisałem o tym już na forum phpbb by Przemo! Brak polskich znaków występuje na serwerach z nowymi wersjami MySQL oraz phpMyAdmin. Aby mieć polskie znaki zamiast znaków zapytania należy: 1. Wgrać w całości bazę danych na serwer, jeżeli baza już jest to ok.). 2. Ustawić w phpMyAdmin: - język: Polish (pl-utf- 8) - system porównań dla połączenia MySQL: utf8_general-ci - dla konkretnej tabeli - metoda porównywania napisów: utf8_general-ci 3. Generalnie chodzi o polskie znaki w tabeli phpbb_post_text oraz phpbb_topisc (tabele odpowiedzialne za treść postów oraz ich tytuł) Oczywiście można zmienić wszystkie tabele np. odpowiedzialne za tematy for, użytkowników itp.). 4. W pliku sql gdzie mamy cały zrzut bazy danych odszukujemy zrzuty w/w tabel. Tworzymy nowy plik o nazwie post_text (oczywiście nazwa dowolna) i kopiujemy do niego z pliku sql dane tabeli phpbb_post_text. TYLKO DANE BEZ STRÓKTURY TABELI. Analogicznie do każdej tabeli nowy plik. 5. Otwieramy taki plik w edytorze pozwalającym na konwersje znaków (polecam EdHTML). Ustawiamy taki sposób kodowania aby polskie litery miały ogonki (ISO-8859-2). 6. Teraz nadszedł czas na zmianę na utf-8 (znaki Unicode). W opcjach programu wybieramy znajdź/zmień ewentualnie zastąp. W polu "znajdź" wpisujemy np. ą a w polu "zmień na" wpisujemy & # 261; (bez spacji) Klikamy OK i wszystkie ą zostają zmienione. Kody polskich znaków w systemie Unicode znajdziecie m.in na http://www.kurshtml.boo.pl/skrypty/unicode.html 7. W ten sposób zmieniamy wszystkie polskie znaki na znaki Unicode. Przykład: Zdanie z polskimi znakami: "Już będą wyświetlane prawidłowo." Po naszej zmianie wygląda: Ju& #380; b& #281;d& #261; wy& #347;wietlane prawid& #322;owo. 8. Wchodzimy do phpMyAdmin, czyścimy tabelę w której chcemy dokonać zmian i za pomocą zakładki SQL wrzucamy (kopiujemy) zawartość naszego pliku (już ze znakami Unicode). Ważne aby przed przystąpieniem do uzupełniania tabeli wyczyścić ją a nie nadpisywać. 9. Przeglądając zmienioną tabelę widzimy już w niej znaki Unicode a na naszym forum są już polskie znaki! Działa w 100%. Sprawdzałem na dwóch serwerach na których właśnie po przejściu na nowe wersje programów na forach występowały znaki zapytania. |
|
|
![]() ![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Także borykałem się z tym problemem, U siebie mam MySQL 4.1 oraz phpMyAdmin 2.6.0pl3. Na serwerze zaś MySQL jest w wersji 4.0.24 i pojawiał się problem z kodowaniem polskich znaków podczas eksportowania tabeli.
Po paru eksperymentach doszedlem do wniosku, że problem tkwi w kodowaniu pliku eksportowanego. Kodowanie to UTF8, gdy tymczasem mamy ustawione w bazie latin2. To co wystarczy zrobić to otworzyć ten plik *.SQL w Wordzie (tak tak), wybrać kodowanie UTF8 podczas otwierania. Potem zaznaczyć cały tekst i skopiować go do... notatnika (nie pamięta informacji o kodowaniiu ![]() ![]() Sprawdzone również dla phpMyAdmin 2.7.0 (które BTW ma opcję eksportu do wcześniejszej wersji MySQL - ale wciąż pozostaje porblem z kodowaniem) |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.05.2025 - 05:19 |