Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Fatal error: Class 'Encoding' not found
Forum PHP.pl > Forum > Przedszkole
morasek
Witam,

Potrzebuje pomocy w zaincludowaniu klasy, obecnie jestem na etapie strukturalnego kodowania ale musze wykorzystac klase konwertujaca kodowanie znakow do utf-8 wiec znalazlem w internecie klase forceutf8 ktora jest tutaj i zrobilem require_once jej oraz zastosowalem sie do przykladow stosujac:
  1. $zawartosc = Encoding::toUTF8($zawartosc);

niestety co bym nie robil mam blad
Kod
Fatal error: Class 'Encoding' not found

wystepujacy w tej linijce co jest na gorze. Prosze o pomoc i pozdrawiam
viking
Po tym fatalu powinieneś mieć pełną ściężkę w failed opening required. Skoro nie ma to znaczy że nie zaczytałeś.
morasek
No właśnie sciezka sie wyswietla
Kod
Fatal error: Class 'Encoding' not found in /home/***/domains/***/public_html/***.php on line ***


i jest dobra, oba pliki sa w tym samym katalogu, nazwe includowanego pliku kopiowalem i napewno jest dobra, jak daje
Kod
var_dump(file_exists("Encoding.php"));

daje mi true
ale jak daje
Kod
if ( ! class_exists('Encoding'))

to warunek jest spelniony czyli takiej klasy nie ma ...
viking
Tam jest namespcae czyli use \ForceUTF8\Encoding;
morasek
Możesz mi to napisać bardziej szczegołowo proszę ? Nie znam sie na oop a musze miec ta klase w swoim kodzie ;/
Chodzi o
Kod
$kodowanie = new ForceUTF8\Encoding;
$zawartosc = $kodowanie->toUTF8($zawartosc);

?

ps. nie znacie moze czegos jeszcze dobrego do zmiany kodowania kazdego tekstu na utf-8 ?
!*!
Cytat
ps. nie znacie moze czegos jeszcze dobrego do zmiany kodowania kazdego tekstu na utf-8 ?

iconv

lub

  1. $kodowanie = new \ForceUTF8\Encoding;
  2. $zawartosc = $kodowanie->toUTF8($zawartosc);
morasek
Cytat(!*! @ 20.04.2013, 13:34:18 ) *

nie jesli nie znasz kodowania tekstu ktorego ja nie znam a detekcja przez phpowe funkcje jest * warta, czasem sa tez mieszane kodowania. Modze od rana i nic nie jest w stanie przekonwertowac 100% tekstu na utf-8 ;/ tekst pobieram ze stron
!*!
To sprawdź sobie jakie masz kodowanie mb_detect_encoding i na tej podstawie zmień.
mstraczkowski
@up To nie zawsze działa, a czasem działa nieprawidłowo wink.gif
morasek
zbyt często działa nie prawidłowo, poza tym tak jak mowie tekst moze byc mieszany, strona np jest w kodowaniu jednym a jakis fragment strony (np. plik templatki) bedize w kodowaniu innym i tego napewno juz nie wykryje
mstraczkowski
To bardzo nie dobrze, że masz taką mieszankę, co do namespace to przykładowo:

  1. include_once('/path/to/Encoding.php');
  2. $zawartosc = \ForceUTF8\Encoding::toUTF8($zawartosc);

Pomijam fakt, że wg. PSR-0, klasy powinny być ładowane automatycznie przez autoloader na podstawie ich przestrzeni nazw wink.gif
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.