Skocz do zawartości
malyem

Kodowanie Mysql Nie Dziala Do Konca

Polecane posty

mysql 4.10

my.cnf (fragment)

		 [client]
	 default-character-set=utf8
	 [mysql]
	 default-character-set=utf8
	 character-sets-dir=/usr/share/mysql/charsets
	 [mysqlcheck]
	 default-character-set=utf8
	 character-sets-dir=/usr/share/mysql/charsets
	 [mysqldump]
	 default-character-set=utf8
	 character-sets-dir=/usr/share/mysql/charsets


	 [mysqld]
	 default-character-set=utf8
	 default-collation=utf8_general_ci

	 character-set-server=utf8
	 collation-server=utf8_general_ci
	 init-connect='SET NAMES utf8'

 

po podlaczeniu sie przez mysql z konsoli:

		 | character_set_client			| utf8					|
	 | character_set_connection		| utf8					   |
	 | character_set_database		  | utf8				   
	 | character_set_results		   | utf8			|
	 | character_set_server			| utf8				   |
	 | character_set_system			| utf8			 |
	 | collation_connection			| utf8_general_ci			|
	 | collation_database			  | utf8_general_ci	 |
	 | collation_server				| utf8_general_ci

 

ale jak to samo robie przez php (utf-8) (query'SHOW VARIABLES') dostaje:

character_set_client : utf8

character_set_connection : utf8

character_set_database : latin1

character_set_results : utf8

character_set_server : utf8

character_set_system : utf8

collation_connection : utf8_general_ci

collation_database : latin1_swedish_ci

collation_server : utf8_general_ci

skad te wartosci?

Wczesniej bylo jeszcze gorzej (przed dodaniem init-connect='SET NAMES utf8')

Czytalem ze te ustawienie (init-cannect) spowalnia, tworzac dodatkowe zapytanie. Czy istnieje jakas inna metoda zastapienia jej? Jak zamienic te latiny na utf8 i utf8_general_ci ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
skad te wartosci?

To są kodowania samej bazy danych, a nie serwera mysql.

 

Jak zamienic te latiny na utf8 i utf8_general_ci ?

ALTER DATABASE `BAZA` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

 

 

A co dokładnie ci nie działa? Pojawiają się krzaczki, czy '?'?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
To są kodowania samej bazy danych, a nie serwera mysql.

ALTER DATABASE `BAZA` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Masz racje, utworzylem przykladowa baze ze starymi ustawieniami w latin i pozniej wyskakiwaly te latiny.

 

A co dokładnie ci nie działa? Pojawiają się krzaczki, czy '?'?

Wczoraj mialem przejsciowych wiele konfiguracji byly 'znaki zapytania' i 'kwardaciki' byla tez 'chinszczyzna' w zaleznosci co bylo ustawione.

 

Dzisiaj dodalem do [client]

character-sets-dir=/usr/share/mysql/charsets

Dziala, wszedzie wyswietlaja sie utf8 lub utf8_general_ci. Dziwne jest to, ze nie istenieje u mnie taka sciezka ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×