Kodowanie znaków w MySQL [Rozwiązanie]

Instalacja i konfiguracja oprogramowania sieciowego.

Pomogłem?

Czas głosowania minął 28 sty 2008, 14:44

Nie
2
100%
Nie
0
Brak głosów
 
Liczba głosów: 2
budder
Piegowaty Guziec
Piegowaty Guziec
Posty: 3
Rejestracja: 24 gru 2007, 14:20
Płeć: Mężczyzna
Wersja Ubuntu: 7.04
Środowisko graficzne: GNOME
Kontakt:

Kodowanie znaków w MySQL [Rozwiązanie]

Post autor: budder »

Przeglądając forum zauważyłem że dużo osób nie może sobie poradzić z kodowaniem ISO-8859-2 w MySQL Znalazłem rozwiązanie(u mnie działa) 8-)
edytujemy plik charset (etc/apache2/conf.d/) by mieć taki wpis

Kod: Zaznacz cały

AddDefaultCharset ISO-8859-2
AddDefaultCharset UTF-8
Zamykamy plik zapisująć zmiany.

następnie edytujemy plik php.ini (etc/php5/apache2/)
w kodzie pliku:

Kod: Zaznacz cały

default_mimetype = "text/html"
;default_charset = "iso-8859-1"
Edytujemy by mieć

Kod: Zaznacz cały

default_mimetype = "text/html"
default_charset = "iso-8859-2"
Zamykamy plik zapisując zmiany.

teraz restart Apache etc/init.d/apache2 restart

Tworząc baze danych, Tworzymu ją w UTF-8, zamiast krzaczków ? ? ? będą polskie miękkie znaki ąśćżź

To mój pierwszy post więc mile widziana będzie także krytyka :)
Awatar użytkownika
adikpn
Sędziwy Jeż
Sędziwy Jeż
Posty: 51
Rejestracja: 08 mar 2007, 19:08
Płeć: Mężczyzna
Wersja Ubuntu: 6.06
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Kodowanie znaków w MySQL [Rozwiązanie]

Post autor: adikpn »

Jakoś to działa, nie najgorzej działa, tylko że po zapisaniu pojawiła mi się cała strona krzaczków....
.::Linux user #458820 Ubuntu user #18712::.
...::: Piąty element nie śpi nigdy :::...
..::Moja druga miłość VW Golf II a.k.a pyrka::..
budder
Piegowaty Guziec
Piegowaty Guziec
Posty: 3
Rejestracja: 24 gru 2007, 14:20
Płeć: Mężczyzna
Wersja Ubuntu: 7.04
Środowisko graficzne: GNOME
Kontakt:

Odp: Kodowanie znaków w MySQL [Rozwiązanie]

Post autor: budder »

adikpn pisze:Jakoś to działa, nie najgorzej działa, tylko że po zapisaniu pojawiła mi się cała strona krzaczków....
wykonaj jak trzeba restart całego kompa

jak możesz zarzuć linka do serwa to sprawdzimy co jest nie tak
Awatar użytkownika
adikpn
Sędziwy Jeż
Sędziwy Jeż
Posty: 51
Rejestracja: 08 mar 2007, 19:08
Płeć: Mężczyzna
Wersja Ubuntu: 6.06
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Kodowanie znaków w MySQL [Rozwiązanie]

Post autor: adikpn »

yyyyy Tylko że po zalecanym przez Ciebie restarcie nie chce chodzić i jest więcej krzaków odpuszcze sobie chyba MySQL i zajmę się HTML.
.::Linux user #458820 Ubuntu user #18712::.
...::: Piąty element nie śpi nigdy :::...
..::Moja druga miłość VW Golf II a.k.a pyrka::..
Rgl
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 227
Rejestracja: 08 sty 2006, 08:10
Płeć: Mężczyzna
Wersja Ubuntu: 24.10
Środowisko graficzne: GNOME
Architektura: x86_64
Lokalizacja: Warszawa

Odp: Kodowanie znaków w MySQL [Rozwiązanie]

Post autor: Rgl »

A jeśli baza jest na UTF8 w php.ini było 8859-1, na stronie 8859-2
i tak zapisane bazy to po zmianie w php.ini na 8859-2 nie wyjdą krzaczki?

Jak po zmianie w konfiguracji zachowają się już istniejące bazy (tzn odczyt z nich przez skrypty php)?
Awatar użytkownika
Lamilami
Piegowaty Guziec
Piegowaty Guziec
Posty: 26
Rejestracja: 26 maja 2006, 08:27
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: LXDE
Architektura: x86

Odp: Kodowanie znaków w MySQL [Rozwiązanie]

Post autor: Lamilami »

a co jak się apacha nie ma, tylko samą mysql?
Good friend of Botticelli, Wittgenstein and Ayn Rand.
Ubuntu user #9775
Senders
Piegowaty Guziec
Piegowaty Guziec
Posty: 1
Rejestracja: 09 sty 2008, 10:09
Płeć: Mężczyzna
Wersja Ubuntu: 6.06

Odp: Kodowanie znaków w MySQL [Rozwiązanie]

Post autor: Senders »

Spróbuj dodać do pliku my.cnf co następuje :)

[mysql]
default-character-set=latin2

[mysql.server]
default-character-set=latin2

[mysqldump]
default-character-set=latin2

[mysqld]
language=/usr/share/mysql/polish
character-sets-dir=/usr/share/mysql/charsets to pewnie masz to daj # ;)
default-character-set=latin2
default-collation=latin2_general_ci
skip-character-set-client-handshake

[client]
default-character-set=latin2

Też nie wiem czy to u ciebie pomoże. Ja mam na serwerze lighttpd + php + mysql + phpMyAdmin i polskie kodowanie aż miło, wszystko działa jak należy ;)
Pozdrawiam.
Awatar użytkownika
Lamilami
Piegowaty Guziec
Piegowaty Guziec
Posty: 26
Rejestracja: 26 maja 2006, 08:27
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: LXDE
Architektura: x86

Odp: Kodowanie znaków w MySQL [Rozwiązanie]

Post autor: Lamilami »

o Dzięki :)
a właśnie zanim dodam, nie napisałem po co mi to...chodzi o bazę dla Amaroka.
Mam utwory tagowane po polsku (tu się przyda) ale i w cyrylicy, po japońsku, arabsku, armeńsku, niemiecku, francusku, hiszpańsku, norwesku (w sumie wszystkie europejskie + arab., jap, cyrylica, armen. gruz. ) co zrobić?
Znalazłem info o ISO 10646 to ok?

EDIT:
--------dam osobny wątek bo tu się temat chyba na iso polskim kończy
Good friend of Botticelli, Wittgenstein and Ayn Rand.
Ubuntu user #9775
danpre
Piegowaty Guziec
Piegowaty Guziec
Posty: 2
Rejestracja: 08 lip 2005, 12:50
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Środowisko graficzne: Blackbox

Odp: Kodowanie znaków w MySQL [Rozwiązanie]

Post autor: danpre »

budder pisze:Przeglądając forum zauważyłem że dużo osób nie może sobie poradzić z kodowaniem ISO-8859-2 w MySQL Znalazłem rozwiązanie(u mnie działa) 8-)
edytujemy plik charset (etc/apache2/conf.d/) by mieć taki wpis

Kod: Zaznacz cały

AddDefaultCharset ISO-8859-2
AddDefaultCharset UTF-8
Zamykamy plik zapisująć zmiany.

następnie edytujemy plik php.ini (etc/php5/apache2/)
w kodzie pliku:

Kod: Zaznacz cały

default_mimetype = "text/html"
;default_charset = "iso-8859-1"
Edytujemy by mieć

Kod: Zaznacz cały

default_mimetype = "text/html"
default_charset = "iso-8859-2"
Zamykamy plik zapisując zmiany.

teraz restart Apache etc/init.d/apache2 restart

Tworząc baze danych, Tworzymu ją w UTF-8, zamiast krzaczków ? ? ? będą polskie miękkie znaki ąśćżź

To mój pierwszy post więc mile widziana będzie także krytyka :)
Mistrzu DZIĘKI
od samego rano mnie to dzisiaj męczyło (import baz z innego serwera)

danpre
DANIeL
mvagner
Piegowaty Guziec
Piegowaty Guziec
Posty: 11
Rejestracja: 28 sty 2006, 02:37
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Kodowanie znaków w MySQL [Rozwiązanie]

Post autor: mvagner »

Mam trochę inny problem: mam bazy utworzone w latin-2, wyeksportowane. Zrobiłem upgrade systemu do 8.04 no i teraz problem - zmieniałem gdzie się da (czyli w php.ini, my.cnf, /etc/apache2/conf.d/charset) na latin2 albo iso ISO-8859-2, ale baza i tak wyrzuca mi zawartość w utf8.
Objawia się to tym, że na stronie zawartość jest spolszczona (oczywiście tylko ta czerpana z bazy) tylko jak zmienię kodowanie w przeglądarce na utf8, inaczej są krzaczki. W phpmyadminie również

Kod: Zaznacz cały

System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
Czy ktoś wie jak to zmienić?
Ponownie wyeksportować nie mogę, bo stara instalacja ubuntu mi już nie odpala, a ne chce mi się jej ratować (siedzą na tym samym /home/ więc pewnie jedna drugiej by śmieciła).
Dodam, że sprawdzając w MYSQL Administrator - jedyną zmienną znakową, która nie ma latin2 a utf8 jest character_set_system.
sudo mount /dev/brain /mnt/skull
Awatar użytkownika
kabanek
Zakręcona Traszka
Zakręcona Traszka
Posty: 592
Rejestracja: 23 cze 2009, 20:34
Płeć: Mężczyzna
Wersja Ubuntu: 13.10
Środowisko graficzne: Xfce
Architektura: x86_64
Kontakt:

Odp: Kodowanie znaków w MySQL [Rozwiązanie]

Post autor: kabanek »

ja problem z kodowaniem w bazie rozwiązałem tak, że na stronie używam utf-8 a w bazie inne (narzucone) i w pliku, gdzie łączę się z bazą dodałem takie coś:

Kod: Zaznacz cały

mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8'); 
i to załatwiło wszystkie problemy :)
ODPOWIEDZ

Wróć do „Sieci, serwery, Internet”

Kto jest online

Użytkownicy przeglądający to forum: Bing [Bot] i 16 gości