Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: unicode + include, czyli co zrobic by dzialalo?
Forum PHP.pl > Forum > PHP
Piotr Mederak
Mam pliki zrodlowe zakodowane w unicode (UTF-8) i...

Robie cos takiego:

Plik jeden.php

[php:1:c793a30779]<?php
include_once "dwa.php";

session_start();

include_once "trzy.php";

echo "Poczatek tresci...";

// ....
?>[/php:1:c793a30779]



...i sie zaczyna. Otoz przy kodowaniu UTF-8 w pierwszym bajcie pliku jest umieszczana informacja o tym do ktorej strony ma byc wyrownywany tekst. Skutek jest taki, ze jak polacze za pomoca include'a kilka plikow w jedna calosc to mam nie jeden taki bajt a kilka i przegladarka glupieje, nie mowiac juz o parserze, ktory nie chce uruchomic sesji z w/w przykladu, gdyz... zostal juz wyslany do przegladarki ow nieszczesny bit z pliku dwa.php (pierwszy jest pieknie pomijany tak przez phpa jak i przegladarki)...

I tu moje pytanie: jak zrobic, by ow bit wystepowal tylko raz, niezaleznie od tego ile plikow bede includowal??
KaMeLeOn
Utnij ten znak przed includowaniem... ale czemu UTF-8 ?
Myślę, że w pliku źródłowym niepotrzebne jest wyrównywanie tekstu...
Piotr Mederak
1. Problem polega na tym, ze w edytorach, podczas edycji w unicode, ow znak jest ukrywany, a otwieranie pliku w jakims innym edytorze tylko po to by po kazdej poprawce wywalic jeden znak jest strasznie meczace...

2. UTF-8 dlatego, ze w serwisie wystepuja opisy w przeroznych jezykach i jak ktos chce to ma miec mozliwosc wpisania sobie nawet egipskich znaczkow, czy rosyjskich 'bukw'...

3. W pliku zrodlowym niby nie, ale wystarczy jeden wyraz ktory jest w jakims stringu i zawiera jakis znaczek, ktorego nie ma w tablicy ascii i juz trzeba to kodowac sad.gif

Meczace, to fakt, ale klient chce na jednej stronie rozne jezyki to co zrobie? przeciez nie bede za pomoca GD jakis gifow w locie robil...
KaMeLeOn
Cytat
[...]w edytorach, podczas edycji w unicode, ow znak jest ukrywany, a otwieranie pliku w jakims innym edytorze tylko po to by po kazdej poprawce wywalic jeden znak jest strasznie meczace...

Nikt nie robi tego w edytorze... php może to wyciąć.
Cytat
UTF-8 dlatego, ze w serwisie wystepuja opisy w przeroznych jezykach i jak ktos chce to ma miec mozliwosc wpisania sobie nawet egipskich znaczkow, czy rosyjskich 'bukw'...

Nie koduje się pliku źródłowego tylko dlatego, że w stringach są znaczki w innych językach... Trzeba odpowiednio zakodować to co przychodzi i wychodzi ze skryptu.

Lektura do poduszki:
http://www.php.net/manual/pl/ref.iconv.php
http://www.php.net/manual/pl/ref.mbstring.php

No może jeszcze to:
http://www.unicode.org/charts
kurtz
Hej
Cytat
Mam pliki zrodlowe zakodowane w unicode (UTF-8) i...
Wiem o jakim problemie chodzi :)

Powiedz jakiego uzywasz edytora - wbrew pozorom ma to znaczenie. Przykladowo Homesite 5 mimo zapisu plikow w unicode nie dodaje tych dodatkowych bajtow. Homesite 5.5 dodany do pakietu z dreamweaverem juz ma tego babola. Podobny problem dotyczy rowniez np Notatnika ;)

Jesli rzeczywiscie uzywasz jakiegos feralnego edytora to problem mozna rozwiazac, albo przerabiajac pliki w locie podczas zapisu (ew skryptem na serwerze) - srednio wygodne, albo zmienic edytor - w moim przypadku mimo licencji na oba powyzsze korzystam z Sctintilli i sobie chwale ;)


PS
pozdrowienia dla wapnetu ;)

PPS
kameleon : zaswiadczam ze medec raczej ma glowe na karku ;)
Piotr Mederak
1. Jesli chodzi o edytor to obecnie pisze w EditPlusie, a te denerwujace bajdy usuwam w UltraEdicie...

2. kutrz -> dzieki za komplement ;P a tak wogole to sie zorientowalem dopiero teraz, ze sie tu zapisalem z imienia i nazwiska, a nie z ksywki... da sie to jakos zmienic?

3. KaMeLeOn -> iconv() - to jest to! dzieki wielkie, ale problem jest taki, ze projekt juz jest w stadium dopieszczania detali typu - ikonka, trzy pixele w lewo, tu jakas literowke poprawic itp. wiec raczej z tego w tej chwili nie skorzystem, ale na przyszlosc bede wiedzial...

4. a wapniaki sie widza na woodstoku - wpadaj kurtz! smile.gif
kurtz
Hej
Cytat
1. Jesli chodzi o edytor to obecnie pisze w EditPlusie, a te denerwujace bajdy usuwam w UltraEdicie...
Jak wczesniej pisalem - sprobuj sctintilli :)
Cytat
wogole to sie zorientowalem dopiero teraz, ze sie tu zapisalem z imienia i nazwiska, a nie z ksywki... da sie to jakos zmienic?
kontkatuj sie z administraorem forum.
Cytat
4. a wapniaki sie widza na woodstoku - wpadaj kurtz! :)
oj - marna szansa praca praca praca :|

Pozdrawiam
Piotr Mederak
Cytat
Jak wczesniej pisalem - sprobuj sctintilli smile.gif


z checia, ale google na temat tego edytora milczy sad.gif gdzie tego szukac??

a co do wap-spotkanka to szkoda sad.gif
KaMeLeOn
Cytat
kameleon : zaswiadczam ze medec raczej ma glowe na karku winksmiley.jpg

kurtz: a czy ja mówię, że nie ma?
Miło jest pomóc komuś, komu nie muszę pisać używaj BBcode ;P
kurtz
Hej
Cytat
Cytat
Jak wczesniej pisalem - sprobuj sctintilli :)
z checia, ale google na temat tego edytora milczy :( gdzie tego szukac??
SciTE to edytor oparty na silniku Scintilli

http://www.scintilla.org/SciTE.html

dostepne jest duze wsparcie dla php (php.api) + bardzo elastyczna konifugracja (plik tekstowy).


Pozdrawiam
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.