MySQL konfiguracja, zestaw znaków

Konfiguracja serwerów, usług, itp.
cooleq
Beginner
Posty: 172
Rejestracja: 18 czerwca 2010, 13:47
Lokalizacja: Wrocław

MySQL konfiguracja, zestaw znaków

Post autor: cooleq »

Witam,
brakuje mi paru ustawień w konfiguracji serwera, ale nie wiem dokładnie o co chodzi.
Najważniejsze w tym momencie jest żeby zaczęły działać polskie znaki.
w my.conf jest ustawione polish, wszystkie tabele są utf8_polish_ciGdzie jeszcze coś trzeba zmienić żeby zaczęło działać?
Drugim problemem jest to że dość często program nie może pobrać mi nagłówków kolumn, pobiera tylko klucz.
I takie jeszcze pytanie, czy po edycji tabel, kluczy bądź uprawnień trzeba restartować serwer?
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Wklej wyniki poleceń (z MySQLa):

Kod: Zaznacz cały

show variables like 'collation%';
show variables like 'character%';
show create database twojabaza;
show create table twojabaza.twojatabela;
Możesz też spróbować jeszcze wymusić kodowanie przy łączeniu się do bazy za pomocą:

Kod: Zaznacz cały

SET NAMES '[I]charset_name[/I]' COLLATE '[I]collation_name[/I]'
Co to znaczy "nie może pobrać mi nagłówków kolumn, pobiera tylko klucz"?

Po edycji tabel nie trzeba nic robić, po edycji uprawnień robisz:

Kod: Zaznacz cały

flush privileges
cooleq
Beginner
Posty: 172
Rejestracja: 18 czerwca 2010, 13:47
Lokalizacja: Wrocław

Post autor: cooleq »

Kod: Zaznacz cały

Variable_name 
Value                     collation_connection     utf8_unicode_ci                        
collation_database     utf8_polish_ci                        
collation_server     latin1_swedish_ci

Variable_name Value                     character_set_client     utf8                        character_set_connection     utf8                        character_set_database     utf8                        character_set_filesystem     binary                        character_set_results     utf8                        character_set_server     latin1                        character_set_system     utf8                        character_sets_dir     /usr/share/mysql/charsets/                       

CREATE DATABASE `ansee` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci */
Nic wymusić nie mogę, przynajmniej na razie, bo używam OpenOffice'a a nie swojego programu.

Co do edycji to takie miałem przeczucie, ale właśnie po edycji nie mogę pobrać danych.
Chodzi konkretnie o OpenOffice Base. klikam na edycję tabeli i jest tylko klucz, nie ma innych kolumn dopóki nie zresetuję programu, czasem i to nie pomaga, trzeba wtedy zamknąć połączenia w bazie.

Dodane:
Odświeżam temat ponieważ dalej nie został mój problem rozwiązany.
W poradniku przeczytałem, że trzeba by kompilować paczkę z mysql co raczej odpada, przynajmniej na razie.
Jest jakaś inna możliwość zmiany strony kodowej?

Dodane:
Witam.
Pozwolę sobie jeszcze raz odświeżyć, ponieważ dalej nie rozwiązałem problemu.

Kod: Zaznacz cały

'collation_connection', 'utf8_general_ci'
'collation_database', 'utf8_polish_ci'
'collation_server', 'latin1_swedish_ci'
Wyczytałem, że rozwiązaniem jest wpisanie w init.d/mysqld

Kod: Zaznacz cały

[mysqld --character-set-server=utf8 \
           --collation-server=utf8_polish_ci
Tylko nie bardzo wiem, w którym miejscu.
Kliknąłem sobie jeszcze w phpmyadmin ustawienia i chyba trzeba by zmienić nie tylko to:

Kod: Zaznacz cały

character set client     utf8           
(Wartość globalna)     latin1 
                       character set connection     utf8           
(Wartość globalna)     latin1 
                       character set database     latin1 
                       character set filesystem     binary                        
character set results     utf8           
(Wartość globalna)     latin1                        
character set server     latin1                        
character set system     utf8                        
character sets dir     /usr/share/mysql/charsets/                        
collation connection     utf8_polish_ci           
(Wartość globalna)     latin1_swedish_ci                        
collation database     latin1_swedish_ci                        
collation server     latin1_swedish_ci
Prosiłbym bardzo o pomoc.

Ps. Nie wiem tylko czemu phpmyadmin pokazuje co innego niż wpisanie polecenia w konsoli, mam na myśli ,,collation database''.
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post autor: Pacek »

Jak korzystasz z PHP to jeszcze w php.ini ;)
cooleq
Beginner
Posty: 172
Rejestracja: 18 czerwca 2010, 13:47
Lokalizacja: Wrocław

Post autor: cooleq »

Powracając do tematu... nie wiem co do tego ma php.ini ale tam właśnie jest chyba dobrze. Po wykonaniu polecenia:

Kod: Zaznacz cały

/etc/init.d/mysql start --character-set-server=utf8 --collation-server=utf8_unicode_ci 
I przez PMA działa, mogę wpisywać i poprawiać stare rzeczy na poprawne. Niestety nie mogę wpisywać polskich czcionek przez OpenOffice. Pobiera i wyświetla poprawnie ale jak tylko kliknę na daną kolumnę to już zmienia na te dziwne znaczki.
I jeszcze tylko pytanie gdzie dopisać

Kod: Zaznacz cały

 --character-set-server=utf8 --collation-server=utf8_unicode_ci
żeby uruchamiało się za każdym razem? Gdzieś w init.d w sekcji restart i obojętnie, w którym miejscu?
ODPOWIEDZ