PelzaK Opublikowano 19 Lipca 2006 Zgłoś Opublikowano 19 Lipca 2006 (edytowane) Witam.. ostatnio postanowiłem dodać do swojej stronki obsługę mySQLa... wcześniej komentarze, artykuły etc, były oparte na plikach tekstowych. No i tu zaczął sie problem... kodowanie na stronce mam niestety CP1250, na razie nie chcę zmieniać bo bym musiał każdy artykuł przerabiać, poza tym wszystkie przeglądarki, nawet linuxowe sobie z tym radzą... więc szkoda zachodu żeby dogonić standardy - sztuka dla sztuki... Poza tym mój edytor (PHP Designer 2006), którym się posługuje, nie wiedzieć czemu wciąż nie ma kodowania latin2 czy iso-8859-2 jak kto woli.. mimo iż na forum często użytkownicy domagali się wprowadzenia tego kodowania... W PHPmyAdmin jest notka o tym iż METODA PORÓWNYWANIA NAPISÓW jest ustawiona dla tabel na latin1_general_ci ogólnie... Dla każdej tabeli ustawiłem tą metodę porównywania na cp1250_general_ci , żeby było zgodne z kodowaniem mojej strony... windows-1250. Sam phpmyadmin działa w kodowaniu UTF-8 i za jego pomocą wprowadzałem stare dane do mySQLa.. polskei czcionki były iwdziane i w phpmyadminie i na mojej stronce.. było ok... było ok do czasu aż nie wprowadziłem ze stronki nowego komentarza zawierajacego polskie znaczki... oczywiście pojawiły się znaczki zapytania ?????. Tego to już nie rozumiem.. mam kodowanie na stronie windows1250, w SQLu ustawione jest to porównywanie napisów na cp1250.. odczytywać tabelę się da z polskimi znaczkami.. a zapisywać nie... Połączenie z bazą z PHP realizuję w ten sposób... $conn = mysql_connect("localhost","login","pass") or die('nie mozna sie polaczyc'); mysql_select_db("pelzakdb",$conn); $sql = "set charset cp1250"; mysql_query($sql);czyli zmieniam dodatkowo kodowanie starndardowe latin1 na cp1250 - to znalazłem gdzieś na jakimś forum, żeby przestawić sposób kodowania bazy po połączeniu.... no i lipa... nie mam pojęcia co z tym dalej zrobić... ma ktoś jakiś pomysł? bo rozwaliłem stronkę i teraz leży niezdatna do użytkowania... //- EDIT ----------------------------------------------------------- ok problem rozwiązałem jak zwykle chwile po założeniu tematu.. a wcześniej 6h siedzenia nad crapem... i to dzięki jakiemuś czeskiemu forum :D po połączeniu z bazą danych trzeba zmienić nie CHARSET tylko NAMES... t powoduje zmianę zarówno danych wychodzących jak i wchodzących do bazy danych... $sql = "set names cp1250"; mysql_query($sql); można zamknąć, chyba, że ktoś ma coś do dodania... :wink: Edytowane 19 Lipca 2006 przez PelzaK Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Grimlock Opublikowano 19 Lipca 2006 Zgłoś Opublikowano 19 Lipca 2006 (edytowane) Sam kiedyś tego szukałem i znalazłem rozwiązanie na forum Przemka Matogi przemo.org Trzeba dopisać poprawkę do bazy, którego poprawi kodowanie. Robiłem to już dawno podczas eksportu i importy bazy forów. Przez inne ustawienia MySQL'a miałem znaki zapytania zamiast polskich liter. Jestem w trakcie szukania :wink: UPDATED: http://www.przemo.org/phpBB2/forum/viewtopic.php?t=17648 - drugi post i dalej Edytowane 19 Lipca 2006 przez Grimlock Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Yacho Opublikowano 19 Lipca 2006 Zgłoś Opublikowano 19 Lipca 2006 Witam.. ostatnio postanowiłem dodać do swojej stronki obsługę mySQLa... wcześniej komentarze, artykuły etc, były oparte na plikach tekstowych. No i tu zaczął sie problem... Pelzak - jak to mala baza to polecam porzucic MySQL i luknac w strone SQLite - obsluguje wszystie rzeczy tak jak mysql z tych prostych, a jest poprostu 5x prostsze w instalacji i utrzymaniu i 4x szybsze od Mysql i 5x pod postgresa ;] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 21 Lipca 2006 Zgłoś Opublikowano 21 Lipca 2006 tylko że server stoi u znajomego w domu, na którym działa parenaście innych rzeczy :) w trakcie pisania tego posta w mój budynek 15 piętrowy chciał uderzyć binladen samolotem :blink:.. aż mi sie nogi zaczęły lekko uginać jak sie szyby zatrząsły od huku silników, ktore słychać było zaczęły przerywać... .. Nie ma bata.. ja już nie chce mieszkać w najwyższym budynku w promieniu kilku kilometrów... :mur: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Yacho Opublikowano 22 Lipca 2006 Zgłoś Opublikowano 22 Lipca 2006 (edytowane) ale w php5 sqlite jest wkompilowane domyslnie w samo php - nie trzeba nic doinstalowywac ;) Polecam Ci bo naprawde jest to SUPER technologia - przyswaja sie ja doslownie pare minut i masz zarabista funkcjonalnosc :) Edytowane 22 Lipca 2006 przez Yacho Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 22 Lipca 2006 Zgłoś Opublikowano 22 Lipca 2006 a mySQL nie jest przyswajalny? Pozatym sam mySQL nie jest tu problemem a kodowanie znaków :) Poza tym patrzę na dokumentacje.. i widzę praktycznie ten sam język.. w końcu tak czy siak to SQL... :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Yacho Opublikowano 22 Lipca 2006 Zgłoś Opublikowano 22 Lipca 2006 hym no tak - wlasnie o to chodzi ze ten sam jezyk - ale do malych projektow trzeba utworzyc baze dodac osobnego usera przypisac mu prawa dumpy robic phpmyadminem.... a w SQLite przechowujesz wszystko w jednym pliku... (SQLite ma w domysle zastapic system plikow php - otwierasz baze w pliku i wykonujesz na niej komendy SQL i to wszystko zapisuje sie do pliku jak do bazy.... nie trzeba juz fopen fwrite itp - uwazam ze SQLite bedzie odpowiedniejszy od MySQL wszedzie tam gdzie mamy jednego uzytkownika majacego dostep do bazy i nie musisz sie bawic z rozdzielaniem uprawnien na warstwie bazy danych Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 23 Lipca 2006 Zgłoś Opublikowano 23 Lipca 2006 wybacz ale Cię nie rozumiem :). Dodaniem nowego user zajał się admin serva.. i trwało to może 30 sekund... Ja nawet nic o tym nie wiedziałem. W mySQLu też wykonujesz zapytania a co mne to interesuje kto i co to obbiera.. wysyłamzapytania... dostaję odpowiedź :). Pozatym w kazdej chwili mogę zmienić server bo mySQL jest wszędzie dostępny :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Yacho Opublikowano 23 Lipca 2006 Zgłoś Opublikowano 23 Lipca 2006 no wlasnie SQLite tez jest dostepny wszedzie gdzie jest php5 - co do MySQLa - jak masz wiekszy projekt i masz np sklep internetowy - admin ma inne przywileje niz user - wiec na poziomie php robisz mu uprawnienia ale wygodnym i bezpiecznym sposobem jest stworzenie adminowi i userom osobnych kont w MySQL - wtedy nawet jesli zrobiles blad uzywajac nieumiejetnie php nie dojdzie do naruszenia bazy sęk w tym ze wiekszosc malych stron nie korzysta z tego typu zabawek i sa one zbedne - w php wtedy kiedy nie masz dostepu do bazy danych uzywalo sie plikow - i tak masz plik z 100 000 linii i chcesz wyszukac w nim jedna czy dwie musisz pobrac wszystkie i filtrowac - jest to niepraktyczne i wolne... wlasnie dlatego w PHP5 wymyslono SQLite - interfejs obsługi bazy danych gdzie baza jest pojedynczym plikiem ktory powstaje w systemie plikow - SQLite nie wymaga nic poza standardowa instalacja PHP pozwala ci uzywac siebie jako bazy danych lecz zamiast wielkiego serwera dzialajacego i zzerajacego zasoby - po stronie serwera jest jeden plik... nie mowie ze SQLite jest do wszystkiego ale jesli przebudowujesz swoj homepage z plikow na baze to MySQL jest wytaczaniem armaty na komara :) (ta dyskusje potraktuj jako luzne sugestie - nie proboje Cie na siłe przekonac - uwazam tylko ze jesli mozna skorzystac w dokladnie ten sam sposob z rzeczy ktora jest mniejsza wydajniejsza i wygodniejsza w pozniejszej eksploatacji to nalezy to rozwazyc - ja tylko chcialem zwrocic twoja uwage w ta strone - thats all) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 23 Lipca 2006 Zgłoś Opublikowano 23 Lipca 2006 (edytowane) a myslisz ze mySQL w czym trzyma dane jak nie w pliku? :) To też jest plik po stronie servera... I czy wytaczeniem armaty to nie wiem... Po co mam sie ograniczać skoro mySQL jest banalny w obsłudze... Podobnie jakbym kupił auto które ma na liczniku 280km/h.. i tak tyle nie pojadę po polskich drogach, co nie znaczy że to przesada kupować takie auta :) Jest wiele róznych baz danych.. mySQL jest chyba najbardziej powszechny.. a jego szybkość jest na tyle duża że dobrze to działa. Poza tym nie wiem czy sql lite jest dużo szybszy od mysqla.. wszystko zalezy od rozmiaru bazy. Edytowane 23 Lipca 2006 przez PelzaK Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...