Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php+js]
Forum PHP.pl > Forum > Przedszkole
DeeL
Mam problem z przekazaniem zmiennej do skryptu napisanego w JS. Problem z otwieraniem i odczytywaniem katalogów zawierających polskie literki i spacje np folderu: Kurs pilotażu nie jest problemem kiedy poruszam się w samym php. Użyłem funkcji, która zamienia spację i polskie znaki na odpowiednie oznaczenia (na przykład spacja zamienia się na %20). W tym przypadku wszystko działa wyśmienicie, jednak kiedy przenoszę taką zmienną nazwy folderu (Kurs%20pilota%BFu) do JS:

  1. <?php
  2. echo "<a href="java script:view('$folder/$dzial/$big_photo/$img[$par]',640,480,'$img[$par]');">";
  3. ?>


gdzie
  1. <?php
  2. $big_photo
  3. ?>
to nazwa folderu, wówczas skrypt wywołuje mi folder: /Kurs pilota?u/.

Nie bardzo rozumiem gdzie popełniam błąd. Przecież zmienna, gdy ją wyświetlę zawiera poprawne formatowanie nazwy folderu.
kossa
Inne kodowanie - JS to utf-8.

Nie używaj polskich liter w ogóle w nazwach plików/katalogów.

Łukasz
misiek172
do zakodowania zmiennych do url używa się funkcji

rawurlencode i rawurldecode

oraz

urlencode i urldecode

osobiście polecam to pierwsze bo to własnie w nim spacja zamieniana jest na %20.

Zmienną do JS możęsz równierz przekazać w bardziej banalny sposób:

<script language="JavaScript">
var zmienna = '<?echo $zmienna_php;?>';
</script>
DeeL
Rozumiem, że JS to UTF-8. Co jednak zrobić, żeby nazwa folderu była poprawnie przekazana do JS? Zależy mi na takiej opcji, ponieważ nazwa folderu jest wyświetlana na stronie. Próbowałem wykonać podstronę w UTF-8, jednak w tym przypadku otrzymałem odwrócony znak zapytania zamiast "ż".
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.