Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: typ kodowania
Forum PHP.pl > Forum > Bazy danych > MySQL
marok81
Witam

wszyscy proponują ustawinie kodowania UTF-8 dla definicji :

$c = "utf8";
mysql_query('SET character_set_client = '.$c);
mysql_query('SET character_set_results = '.$c);
mysql_query('SET character_set_connection = '.$c);

a czy w phpMyAdmin nie można ustawić np. cp1250_general_ci lub latin2_general_ci ? przy założeniu że kodowanie strony będzie takie samo jaki i :

mysql_query("SET NAMES 'cp1250'"); //latin2
mysql_query("SET CHARACTER SET cp1250"); //latin2

Przerobiłem już chyba wszystkie możliwości od zmiany w pliku my.ini kodowania, tak aby w tabeli były jednakowe typy kodowania :

+--------------------------+----------------------------------+
| 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 | utf8 |
| character_set_system | utf8 |

tak naprawdę zastanawiam się po co grzebać w configach serwera, jeśli można podać coś takiego :

$c = "utf8";
mysql_query('SET character_set_client = '.$c);
mysql_query('SET character_set_results = '.$c);
mysql_query('SET character_set_connection = '.$c);
mysql_query('SET default_charset = '.$c);

mysql_query('SET character_set_database = '.$c);
mysql_query('SET character_set_server = '.$c);
mysql_query('SET character_set_system = '.$c);
mysql_query('SET collation_database = '.$c);
mysql_query('SET collation server = '.$c);;

mysql_query('SET NAMES '.$c);
mysql_query('SET SET CHARACTER SET '.$c);
mysql_query('charset '.$c);
mysql_query('SET character_set_connection=utf8_polish_ci');
mysql_query('SET character_set_client=utf8_polish_ci');
mysql_query('SET character_set_results=utf8_polish_ci');
mysql_query(' SET NAMES utf8 ');


Na pewno żelazną zasadą jest taki sam typ kodowania w bazie jak i na stronie, w moim przypadku oczywiście to nie działa, gdzieś wyczytałem, że jeśli jestem zalogowany jako root to nie zadziała to poprawnie.
Siedze już nad tym tyle czasu, próbując to zrozumieć dlaczego tak a nie inaczej, że już się w tym wszystkim pogubiłem !

Proszę o komentarze, wiem że temat już był poruszany wielokrotnie, ale większość z user'ow w chwili gdy to zadziała nie zastanawia się dlaczego tak a nie inaczej.
expert
Jeżeli chodzi o wybór kodowania utf-8 - to mają rację, ja tez się bawiłem z kodowanie i z utf-8 nie ma problemu. Musisz sobie ustawić kodowanie w phpmyadmin na utf-8, ja to robiłem w pliku konfiguracyjnym config.inc.php

  1. <?php
  2. $cfg['DefaultLang'] = 'pl-utf-8';
  3. $cfg['Lang'] = 'pl-utf-8';
  4. $cfg['DefaultCharset'] = 'pl-utf-8';
  5. $cfg['AllowAnywhereRecoding'] = 'pl-utf-8';
  6. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.