2011-03-09 14 views
5

używam następujące oświadczenie na każdej stronie PHP, aby ustawić połączenie z Unicode:mysql: SET NAMES utf8 na każdym połączeniu?

mysql_query ('SET NAMES utf8'); 

Czy istnieje sposób mogę to pominąć? Ustawiając coś na serwerze? Mam VPS, więc powinienem mieć dostęp do wszystkiego.

Domyślam się, że prawdziwe pytanie brzmi: czy muszę? Czy przyspieszy to, pomijam to stwierdzenie dla każdej dostarczonej strony HTML?

Odpowiedz

8

można modyfikować config MySQL (my.cnf)

[client] 
default-character-set=utf8 

[mysqld] 
default-character-set=utf8 
+1

Czy linia pod '[mysqld]' jest naprawdę potrzebna? – Flimm

+0

Nie jest to konieczne (faktycznie nie ma sensu), ponieważ "zestaw znaków domyślnych" jest używany tylko dla klientów. A jeśli twój klient jest ** mysql ** wtedy i tylko wtedy pojawia się wspomniany "default-character-set = utf8". We wszystkich innych przypadkach musisz ustawić "SET NAMES x". Opcja w sekcji ** mysqld ** jest bez znaczenia. – gahcep

1

Dlaczego po prostu nie załączysz pliku konfiguracyjnego na każdej stronie, która zawiera wszystkie rzeczy związane z tworzeniem połączenia db?

Linia ta jest nesseccary, ponieważ można naprawdę bałagan kodowanie danych w db (tam, zrobić to :))

Powiązane problemy