![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Może głupi temat, po przeczytaniu go większość się uśmieje (tak jak ja (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) ale nie ma do tego powodu, bo po głębszym zastanowieniu pewnie na 90% twarzach zniknie śmiech (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Problem jest pierwszego rzędu (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ostatnio w moich aplikacjach często pojawia się w kodzie tajemnicza kropka. Zbadałem to, pojawia się przy includowaniu plików kodowanych w UTF8. Aż prosi się o przykład: index.php: Kod start index <?php include './plik1.php'; ?> stop index plik1.php Kod start 1 <?php include './plik2.php'; ?> stop1 plik2.php Kod start 2 stop 2 Oto wygenerowane źródło: Kod start index ?start 1 ?start 2 stop 2 stop1 stop index co robią te znaki przed start1 i start2 ? What the fuck? (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) Różnie są przdstawiane, na Operze to kropka w pozycji podobnej do znaku ` . Na firefox wogóle nie widać go w źródle, ale jednak Validator się czepia. Znak pojawia się bezpośrednioprzed wykonywaniem funckji include()/require(). Livedemo: http://mdes.pl/~athlan/unknown_char/ (najlepiej obadać z Opery, ja korzystam z 9.02) Paczka: http://mdes.pl/~athlan/unknown_char/unknown_char.rar O co chodzi? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pozdrawiam, Athlan (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Przyglądając się hexowi plikom które wystawiłeś, można wywnioskować że twój edytor
dodaje jakiś syf na początku pliku http://www.jarzebski.pl/trash/img0001.png Otworzyłem Twój plik w swoim edytorze i znak został pominięty, jednak kiedy go naspisałem również w utf-8 znaku na początku pliku już nie było. Ten post edytował Bastion 29.12.2006, 10:58:50 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 24.09.2003 Skąd: Giżycko / Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Walidacja dokumentu w W3.org wypluwa błąd:
Cytat Byte-Order Mark found in UTF-8 File. The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported. Oznacza to, że bodajże pierwsze 3 bajty w pliku zakodowanym w UTF-8 zawierają informację o tym, że jest to właśnie UTF-8 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . W przypadku stron internetowych powinno się unikać tych znaków. Jeśli pracujesz na Windowsie, to pobierz np. Notepada++, w którego menu istnieje możliwość zmiany kodowania pliku z UTF-8 na ANSI (UTF-8 without BOM). Ten post edytował Denver 29.12.2006, 10:59:01 |
|
|
![]()
Post
#4
|
|
Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Denver: właśnie tak zrobiłem i działa, wina edytora. Znalazałem kilka wzmianek na ten temat w manualu:
http://pl2.php.net/manual/pl/function.include.php#65837 http://pl2.php.net/manual/pl/function.include.php#64895 EOT Ten post edytował Athlan 29.12.2006, 11:07:44 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 472 Pomógł: 7 Dołączył: 7.12.2005 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie tak - edytor. Najczęściej błąd pojawia się przy próbie szybkiej edycji pliku przy jakimś malutkim błędzie - by uniknąć odpalania jakiegoś dużego IDE po prostu sięga się po np. Notatnika Windows. On - owszem - obsługuje UTF-8; jednak dodaje tenże syf na początku każdego pliku. Dlatego też lepiej korzystać z innego edytora do szybkiej edycji. Ja w tym celu używam w/w Notepad++.
|
|
|
![]()
Post
#6
|
|
Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Validator dodaje notatkę
Cytat Byte-Order Mark found in UTF-8 File. The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.09.2025 - 14:01 |