NIeopatrznie dokonałem konwersji oprogramowania na 1.6.1 i mam za swoje. Wszystkie teksty interfejsu mam po polsku jak się należy ale teksty moich kursów i wszystko nowe co wpisuje zawierają krzaczki. Używam Windows XP, próbowałem już chyba wszystkego łącznie z konwersją schowka do utf8. Co jest nie tak bo od wczoraj doszedłem do wniosku że już niczego z unicodem w tle nie rozumiem
Pozdrawiam
Wojtek
A swoją drogą jakiej wersji orpgramowania używa to forum?
możesz wyeksportować bazę danych (np phpmyadmin) następnie użyj edytorka polecam jEdit. Otwórz w nim plik w kodowaniu utf8 a następnie ctrl+f i weź znajdź "krzaka" i go zamień w całym tekście.
Jak chcesz możesz mi podesłać export bazy to spróbuje to przekonwertować na utf
Jak chcesz możesz mi podesłać export bazy to spróbuje to przekonwertować na utf
Dzięki za szybką reakcje, domyślam się, że w ten sposób przekonwertuję istniejące kursy. Nie to jednak mnie martwi. Ważniejsze jest to, że pisząc nowe teksty mam krzaki. Pisałem już encjami ale to pomaga na chwilę, to znaczy zapisuje tekst poprawnie ale po jego ponownym otwarciu do edycji nie mam już encji lecz polski znak a po zapisie - krzaki. POdejrzewam jakiś błąd w 1.6.1 albo u mnie w systemie. Utworzyłem nawet nową subdomenę i zainstalowałęm czysty Moodle 1.6.1 i nie mogę w żaden sposób pisać po polsku. Dlatego najważniejsze dla mnie jest pytanie czy ktokolwiek pracuje na wersji 1.6.1 po polsku.
A jakie masz kodowanie strony wykryte przez przegądarkę? W jakim kodowaniu masz trzymane rzeczy w bazie? Jaką masz wersje MySQL? Może by pomogło dodanie zaraz po połączeniu z bazą: mysql_query("SET NAMES 'utf8'");
Wygląda na to że znalazłem winowajcę choć nie rozumiem na razie z tego nic. Zarówno przy konwersji z wersji wcześniejszej jak i przy tworzeniu baz dla wersji 1.6 instalator (?) z uporem maniaka powstawiał w Collation latin-swedish-ci.
Tylko jak zmienić to na utf8-polish-ci w 153 tabelach bazy i czy to na pewno o to chodzi - choć działa
Tylko jak zmienić to na utf8-polish-ci w 153 tabelach bazy i czy to na pewno o to chodzi - choć działa
mała wskazówka ;)
$query = "SHOW TABLES";
$result = mysql_query ($query) or die ("Zapytanie zakończone niepowodzeni");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$zapytanie = "ALTER TABLE `".$row[0]."` DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci";
$result = mysql_query ($zapytanie) or die ("Zapytanie zakończone niepowodzeni");
}
$query = "SHOW TABLES";
$result = mysql_query ($query) or die ("Zapytanie zakończone niepowodzeni");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$zapytanie = "ALTER TABLE `".$row[0]."` DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci";
$result = mysql_query ($zapytanie) or die ("Zapytanie zakończone niepowodzeni");
}