Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Cyrilica rosyjka, print dziala, z funkcja nie
Forum PHP.pl > Forum > PHP
martn
Witam!
pisze po raz pierwszy , więc wszystkich serdecznie pozdrawiam.

Mam taki problem.
Mam własną strona www wraz z tłumaczeniem na różne języki.
Chcę dodać język rosyjki, ale mam problem.

Każda fraza jest przerabiana przez funkcję tłumaczącą z zewnętrznego pliku.
Funkjce tą includuję do innych podstron (na początku, za nagłówkami).
W nagłówku oczywiście znaki utf-8, z charsetem iso...- 5, cyrylica mi się nie wyświetla poprawnie.

Teraz przedstawię problem w kodzie:
To mi dziala poprawnie:
print "jakis tekst"; - tekst wstawiam na sztywno w cyrylicy

To mi dziala nieporawnie:
print tlumacz ("tekst"); - pojawiają się same pytajniki.

Po prostu tak jakby w funkcji gubił ustawioną stronę kodową.

struktura "tlumacz" jest bardzo prosta, najpierw sprawdza fraze, ktora zadalem parametrem, potem sprawdza jaki jezyk i wstawia odpowiedną frazę w odpowiednim języku.
W pliku tym (zewnętrznym) nie ma żadnych nagłówków, a nawet jak je dodam to nie zmienia wyniku. Zbudowany jest na prostym SWI listach prostych - mała ilość fraz.

Jak to można obejść?
Czy wogóle da się to obejść?

Próbowałem podejrzeć kod ze strony www.babelfish.altavista.com , ale tam niestety już jest wszystko na sztywno smile.gif

Probowalem tez z prostya funkcja, ktora wstawia po prostu w wyniku jakiś tekst w cyrilicy, efekt ten sam. Problem jest z na poziomie funkcji (wg mnie), ale czemu to nie wiem.

Próbowałem też zrobić base64_encode, ale efekt ten sam.
Po prostu w funkcji, gdy ustalam $wynik = "jakis tekst oczywiscie cyrilica"; to w tym momencie mi wstawia pytajniki.

Czy ktoś wie dlaczego?
nospor
a jaki to ma zwiazek z php5? przenosze
mike
A czy pliki skryptów (łącznie ztym, w którym znajduje sie tłumacz) są zapisane w kodowaniu UTF?

Bo one też muszą mieć takie samo kodowanie jak to ustwione w nagłówkach.

I dla pewności sprawdź czy przeglądarka nie psuje Ci zabawy. Może źle czyta kodowanie.
martn
Plik z funkcja "tlumacz" nie zawiera nic poza <? dwoma SWITCH i ?> jest includowane, czyli dodawane po prostu do kodu.
W stronie "matce" mam ustawione UTF, jednak to nie pomaga.
Po prostu print"moskwa" przechodzi, a print tlumacz ("moskwa") nie przechodzi

funkcja tlumacz ma strukture:

switch ($tekst)
{
case "moskwa" :
{
switch ($jezyk)
{

}

}
mike
Cytat(martn @ 2006-01-11 00:59:09)
W stronie "matce" mam ustawione UTF, jednak to nie pomaga.

Ale mi chodzi o kodowanie plików.
Każdy edytor zapisuje pliki w jakimś kodowaniu.

I możesz mieć na przyykład w pliku nagłówek z ISO ale plik zakodowany w Windows-1250.

O takim kodowaniu plików mówię.
martn
Hmmm, nie wiem smile.gif
Jak to sprawdzić? Plik stworzyłem pod dreamweaver, plik matka też (ltóry nota bene działa).
DzikiLis
Cytat(martn @ 2006-01-11 08:43:10)
Hmmm, nie wiem smile.gif
Jak to sprawdzić? Plik stworzyłem pod dreamweaver, plik matka też (ltóry nota bene działa).

Ehm. Menu Edit, Pozycja Preferences..., w lewej kolumnie okna New Document, dropdown Default encoding.
martn
OK przeszło smile.gif
Dziękuję za pomoc
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.