Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest sobota, 21 czerwca 2025, 16:43

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 3 ] 
Autor Wiadomość
Post: wtorek, 27 lutego 2007, 16:07 
Offline

Rejestracja: środa, 11 stycznia 2006, 11:26
Posty: 14
Lokalizacja: JL
Witam!

Mam nowe php i mysqla i problem. Phpmyadmin jako "Metodę porównywania napisów" domyślnie w każdej tabeli wybiera latin1_swedish_ci. Jak to zmienić, aby standardowo wybierał inną stronę kodową, np. latin2 lub utf8?
Szukałem po forach dot. php i mysqla, ale tam tylko radzą dodać przy instrukcji np. select - charset latin2(...) itp. Mam na serwerku dwa serwisy - joomle i mambo i trochę nie uśmiecha mi się zmieniać każde zapytanie do bazy. Może ktoś wie jak to rozwiązać w prostszy sposób?

Z góry dzięki!

_________________
Pozdrawiam, eel.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 27 lutego 2007, 16:41 
Offline
PGF

Rejestracja: wtorek, 27 czerwca 2006, 14:09
Posty: 2112
Lokalizacja: Poznań
Postanowiłem się przyjrzeć temu problemowi, ponieważ zauważyłem go również u siebie.

Nie leży on ani w php, ani w apache lecz w samej paczce mysql 5.

Wyedytuj /etc/my.cnf

Musisz tam dodać linijkę o domyślnym kodowaniu bazy w sekcji mysqld.

Powinna więc ona wyglądać tak


my.cnf pisze:
[mysqld]
port = 3306
socket = /tmp/mysql.sock
datadir = /var/lib/mysql
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 16K
myisam_sort_buffer_size = 8M
default-character-set=latin2

Ostatnia linia ustawia owe kodowanie.

Paczka mysqla jest do poprawy.

Pozdrawiam

_________________
Dedykowane systemy CRM, e-commerce i witryny korporacyjne.
Software House Poznań


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 1 marca 2007, 13:38 
Offline

Rejestracja: środa, 11 stycznia 2006, 11:26
Posty: 14
Lokalizacja: JL
Poczytałem trochę specyfikacji MySQL-a i tam jest tak napisane:
Cytuj:
By default, MySQL uses the latin1 (cp1252 West European) character set and the latin1_swedish_ci collation that sorts according to Swedish/Finnish rules. These defaults are suitable for the United States and most of Western Europe.

One way to change the settings is by recompiling. If you want to change the default server character set and collation when building from sources, use: --with-charset and --with-collation as arguments for configure. For example:

: [/] [] ()
shell> ./configure --with-charset=latin1

Wynika z tego, że trzeba by było przekompilować mysqla. Zauważyłem jednak, że wyświetlane w witrynie polskie znaki są w porządku, jeśli do bazy coś jest dodawane z poziomu jakieś strony, np. w moim przypadku joomla!, ale już nie z poziomu phpmyadmina. Próba zmiany kodowania dla tabeli w phpmyadminie kończy się stratą polskich liter. Spróbuje jeszcze użyć Twojego rozwiązania i dam znać co się zmieniło.

EDIT:
Po dopisaniu tej linii w my.cnf, phpmyadmin rozpoznaje znaki prawidłowo, tabele mają metodę por. znaków latin2, ale za to w serwisie internetowym wartości wybrane z bazy mają "?" zamiast polskich liter. Phpmyadmin, na głównej stronie wyświetla taka informację:
Cytuj:
System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)

Jest to info niezależne od wartości ustawionego kodowania w my.cnf. Może to jakoś zmienić?

_________________
Pozdrawiam, eel.


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 3 ] 

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 17 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl