Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ROZWIĄZANE][PHP][HTMLDOM] Problem z kodowaniem znaków.
Forum PHP.pl > Forum > Przedszkole
golaod
Witam serdecznie.
Mam pewien problem z kodowaniem w htmldom. Pokaże w pierwszej kolejności pliki i to, co sam sprawdziłem.

plik test.php:
  1. <?php
  2.  
  3. error_reporting( E_ALL );
  4.  
  5. $dom = new DOMDocument();
  6. $dom->loadHTMLFile('test.html');
  7. echo mb_detect_encoding( file_get_contents( 'test.html' ) ).'<br />';
  8. echo mb_detect_encoding( $dom->saveHTML() );
  9. echo $dom->saveHTML();

plik test.html
  1. </head>
  2. ąść
  3. </body>
  4. </html>


Wynik skryptu:
  1.  
  2. UTF-8 <!-- to jest oryginalny plik test.html -->
  3. ASCII <!-- to jest wynik saveHTML -->
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
  5. <html>
  6. <head></head>
  7.  
  8. Äquestionmark.gif?Ä?
  9.  
  10. </body>
  11. </html>


Próbowałem konwertować wynik z ascii do utf-8 i zamieniać znaki specjalne hml na normalne ale jak się dobrze przyjrzeć, widać że Ä to znak niemiecki więc w ogóle źle konwertuje na ascii.

Czy ktoś zna rozwiązanie tego ?
CuteOne
iconv()
golaod
Sprawdziłeś to w tym przypadku smile.gif ?

Hah. Rozwiązanie znalezione.

Okazuje się, że musi być poprawnie wprowadzone:
  1. <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
  2. <!-- bez skrótu w postaci: -->
  3. <meta charset="UTF-8" />



Proszę moda o zamknięcie.
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.