Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kodowanie problem
Forum PHP.pl > Forum > Bazy danych > MySQL
andegrand2
Witam,

Wiem że stare jak świat i było ale nic nie mogę znaleźć co by podziałało.
W phpmyadmin w tabelach mam wszystkie polskie znaki tak jak trzeba natomiast na stronie niestety nie.
Kodowanie to latin2_general_ci

Bardzo proszę o pomoc.
lord2105
kodowanie strony na ISO-8859-2?
andegrand2
Hmm jest to extreme-fusion jak edytuje plik np index.php programem Ked to mam stronę kodową "niezidentyfikowane".
lord2105
w extremefusion pliki z meta tagami są w katalogu z themem.

Pokaż link do strony
andegrand2
cs-zamojski.pl
lord2105
z tego co widzę skrypt "zmieniał mieszkanie"

Zobacz kodowanie tabel a nie kolumn całej bazy itp.

Do tego pytanie czy edytowałeś i zapisywałeś pliki php jakimkolwiek programem?
andegrand2
Nic nie było edytowane za wyjątkiem config.php.

W samej bazie wszędzie mam odpowiednie kodowania (lustrzane odbicie tej ze starego serwera).

Edit:

Przy wysyłaniu nowych zapytań do bazy pojawiają się krzaczki.
lord2105
masz źle zaimportowaną bazę danych

a jak po ponownym "poprawnym" imporcie nie zadziała to zmień kodowanie na latain1
andegrand2
Importowałem już 1000 razy smile.gif Sprawdzę ten latin1
lord2105
latain1 powinien pomóc
andegrand2
Niestety dalej to samo tzn pokazało się Ł ale ść itd dalej nie.
lord2105
proszę dokładnie sprawdzić czy w bazie danych są polskie "ogonki"
andegrand2
http://yfrog.com/f/nbkodowaniep/
lord2105
w pliku maincore.php, po polączeniu z bazą danych najlepiej gdzieś na końcu, dodaj:

  1. mysql_query("SET NAMES 'latain1'");


Jeżeli to nie pomoże to odszukaj plik themes/templates/header.php i w nim edytuj kodowanie na UTF-8

a w maincore.php daj

  1. mysql_query("SET NAMES 'UTF-8'");


I w trakcie odświeżania nie zapomnij o F5 w przeglądarce
andegrand2
Niestety dalej nic sad.gif
lord2105
a masz dostęp do serwera apache? bo w nim jest plik charset i ciekaw jestem co tam się kryje
andegrand2
Mam dostęp. Co dokładnie chcesz zobaczyć ?
lord2105
apache2/conf.d/charset

Rozumiem, że teraz Twój CMS ma ustawione kodowanie na UTF-8 i baza też?

bo w kodzie źródłowym Twojej strony widzę nadal

  1. <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-2'>
andegrand2
# Read the documentation before enabling AddDefaultCharset.
# In general, it is only a good idea if you know that all your files
# have this encoding. It will override any encoding given in the files
# in meta http-equiv or xml encoding tags.

#AddDefaultCharset UTF-8


Czyli nie ma nic.

Edit:

Powinno być utf8 nic specjalnie nie zmieniałem w plikach od przeniesienia.
lord2105
Odkomentuj
#AddDefaultCharset UTF-8
czyli
AddDefaultCharset UTF-8

przejdź do themes/templates/header.php i zmień:

  1. <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-2'>

na:
  1. <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>


maincore.php

dodaj pod sam koniec:
  1. mysql_query("SET NAMES 'UTF-8'");


Przejdź do bazy danych i ustaw we wszystkich tabelach, kolumnach i bazie kodowanie na utf-8

No i daj restart apache

jeżeli to apache2 i Linux
Kod
cd /
./etc/init.d/apache2 restart


Podczas edycji plików nie zapomnij również o ustawieniu kodowania edytora tekstu np. Notepad ++ : Format/ Koduj w UTF-8
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.