Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Polskie znaczki
Forum PHP.pl > Forum > Bazy danych > MySQL
Krzychur
Witam!
Mam problem z MySQL, od kiedy przesiadłem się ze składanych serwerów na swój własny.

Oprogramowanie - Apache, php i MySQL - wszystkie najnowsze stabline wersje.
Otóż mam bazy danych stworzone już jakiś czas temu, teraz gdy próbuje je odczytać zamiast wielu liter otrzymuje znaki ?. Kodowanie strony ISO-8859-2. Próbowałem już z wieloma konfiguracjami, z początku zmieniane za pomocą aplikacji MySQLInstanceConfig.exe a następnie dla konkretnej bazy za pomocą okienka System porównań: w phpMyAdmin.

Co szukam rozwiązań w internecie wyszukuje przerwane/zapomniane tematu, albo że jego autor stwierdził "że przypadkiem wpadł na rozwiązanie, ale nie był rad się nim pochwalić".

Co powiniennem zrobić aby normalnie widzieć PLogonki?
nospor
a w bazie też trzymasz dane w iso-8859-2?
Krzychur
gdybym wiedział jak to bym też tak trzymał; szkoda tylko że nie wiem jak to uaktywnić

robiłem też coś takiego:
default-character-set=iso-8859-2

ale ciąglę ąęść=questionmark.gifquestionmark.gif
GrayHat
mam ten sam problem....
chodzi o wersje mySQL 4.1...
w wersji 4.0 wszystko bylo ok.
od wersji 4.1 sie niedociaga....
nospor
Musisz do bazy wkaldac dane w iso. Nie wiem jak wkladales wcześniej, ale jak nie w iso to się będzie chrzanić.
Krzychur
nospor co ty za bzdury gadasz?questionmark.gif

Dotychczas pisałem "ś" i na stronie o kodowaniu iso-8859-2 w źródle występowało jako "¶", no i oczywiście w przeglądarce było wyświetlane jako normalne "ś", co jest chyba oczywiste. Dotychczas nie miałem powodów do instalowania ręcznie serwera - Apache, php, MySQL ręcznie - do funkcji których uzywałem bez problemu wystarczał Krasnal, WebServ i nie uważam tego za powód do śmiechu/wstydu... Teraz kiedy coraz to ciekawsze standardy odkrywam zostałe zmuszony do samodzielnego instalowania. Wtedy wszystkie znaczki polskie były normalnie - ładnie wyświetlane w danym kodowaniu. Jestem w 100% przekonany, że było to jakoś skonfigurowane przez te polskie projekty, ale w Krasnalu my.ini jest "trochę" inny niż ten prawdziwy konfiguracyjny plik MySQL'a, a w WebServerze coś go nie mogłem znaleźć... Trudno...
nospor
Cytat
nospor co ty za bzdury gadasz?questionmark.gif
Ano takie bzdury, że jak do bazy zapiszę ręcznie literkę ś i mam ustawioną klawiaturę polski programisty, a kodowanie na stronce mam iso, to się wyświetli krzaczek zamiast ś. Dopiero gdy zmienię klawiaturę na iso i wstawię jeszcze raz ś to wtedy wyświetli mi się na stronce ś. Kapisz?
Krzychur
A czy ktoś jeszcze może potwierdzić to zdanie? Jak mam przejść do iso skoro nie mam tam żadnej takiej opcji?

--- Edycja ---
No, wiedziałem, że jakieś głupoty słyszę.
Kod
mysql_query("INSERT INTO `articles` (`title`) VALUES ('ąę')");

Wyświetla się tytuł ąę, a nie questionmark.gif, zależy to więc od phpMyAdmina tylko...
uzytkownik24
Kod
<?php
$tytul = addslashes(htmlentities ($tytul));
$tresc_krotka = addslashes(htmlentities ($tresc_krotka));
$osoba = addslashes(htmlentities ($osoba));
$tresc = addslashes(nl2br(htmlentities ($tresc)));

if ($tytul && $tresc_krotka && $osoba && $tresc)
{
    $query = "INSERT INTO newsy (tytul, tresc_krotka, tresc, osoba,"." data) VALUES ('$tytul', '$tresc_krotka', '$tresc', '$osoba', "."now());";
    $wynik = mysql_query ($query);
    
else
{
echo <<<FORM
  
    <form method="post" >
    <div>
    <p>Tytul wiadomosci:</p>
    <input type="text" name="tytul" value="$tytul" />
        <p>Krótka tresc:</p>
    <input type="text" name="tresc_krotka" value="$tresc_krotka" />
    <p>Pelna tresc:</p>
    <textarea name="tresc" rows="" cols="">$tresc</textarea>
    <p>Podpis:</p>
    <input type="text" name="osoba" value="$osoba" />
    <br />
    <input type="submit" value=" Wyslij " />
    </div>
    </form>
FORM;
}  

?>


mam taki skrypt, ktory dodaje newsy do bazy. kodowanie ustawione jest w pliku index w ktorym includuje ten skrypt - utf-8. w bazie tez jest takie kodowanie ustawione, a mimo to zamiast polskich znakow zapisuje krzaki i krzaki wyswietla. pola tekstowe sa typu varchar. sprawdzalam na dwoch roznych serwerach o dwoch roznych wersjach php i myslq'a i phpadmina i wszedzie jest to samo. dodatkowo jak w phpadminie edytuje ktores z pol i wpisuje w nim np ą to zapisuje to jako puste pole. jakis pomysl?
infowaldo
Ja mam coś podobnego z tym że wiem co jest przyczyną (wprowadzanie do bazy znaków w kodowaniu windows-1250) Teraz chciałbym zmienić te dane na kodowanie iso-8859-2. Do pracy wykorzystuję php, MySQL.
Z tym wiąże się moja prośba. Ma ktoś pomysł na jakiś dobry skrypt który szybko i bezproblemowo przekonwertowałby mi polskie znaczki? Zmiana ręcznie każdego 'ś', 'ą' 'ź' itp. jakoś mi nie odpowiada winksmiley.jpg ponieważ baza składa się z wielu tabel, kolumn, a co zatym idzie danych snitch.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.