Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] polskie znaki
Forum PHP.pl > Forum > Przedszkole
szamanpl0
Witam


Mam dwa problemy, może ktoś będzie wstanie mi pomóc w ich rozwiązaniu.

1.Po uruchomieniu skrypty w firefox-ie pokazują mi się wszystkie znaki po za "ś" w jej miejscu jest "?". W internet explorer-ze jest wszystko ok, nie ma tego problemu.Dodam jeszcze że w obu przeglądarkach nic nie kombinowałem z kodowaniem od zainstalowania i nigdy na żadnej stronie nie widziałem tego problemu.

2.Mam ustawioną bazę na utf8_unicode_ci w phpmyadmin widać tekst w tabeli z wszystkimi polskimi znakami, lecz gdy próbuję wyświetlić te dane w przeglądarkach zamiast polskich znaków widzę znak zapytanie "?".


Z góry dziękuje za pomoc.
sf
Brak ustawionego kodowania w meta? Można tylko zgadywać.
szamanpl0
Oto część pliku:

Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<meta http-equiv="Content-Language" content="pl" />
<head>
<link rel="stylesheet" href="nowosci 3.css" type="text/css" />
<?php


function kategoria() {
  global $nowosci_kategoria;
  global $kategoria;

  $query_d = "SELECT nowoscikategoria_nazwa " .
             "FROM nowoscikategoria " .
             "WHERE nowoscikategoria_numer ='$nowosci_kategoria'";
  $results_d = mysql_query($query_d)
    or die(mysql_error());
  $row_d = mysql_fetch_array($results_d);
  extract($row_d);
  $kategoria = $nowoscikategoria_nazwa;
}

$polaczenie=mysql_connect("localhost","root","xxx") or die (mysql_error());
mysql_select_db("xxx") or die (mysql_error());



?>


Działa jak ustawie kodowanie na windows-1250, ale w danych pobranych z bazy danych i tak pojawiają się znaki zapytanie "?".
in5ane
Pewnie kodowałeś.. tzn. pisałeś w notatnik. W jakimś edytorze pisz, to on Ci dobrze zakoduje.
szamanpl0
co się ma edytor do danych pobieranych z bazy,przeczytałem gdzieś tu na forum ze kodowanie strony musi być takie same jak kodowanie danych przechowywanych w bazie w związku z tym próbowałem już różnych kombinacji, ale nie pomaga cały polskie znaki zamieniają się na znaki zapytanie.
in5ane
Ja ci powiem, jak ja to robie i posłuchaj mnie dobrze.

W pliku mam:
- przed pierwszym zapytaniem do bazy mam mysql_query('SET CHARSET LATIN2');
- kodowanie w meta mam iso-8859-2 (zapisane przez jakiś edytor, a nie notatnik)
- system kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
- system porównań dla połączenia MySQL: UTF8_Unicode_ci
- metoda porównywania napisów: latin2_general_ci
szamanpl0
Dzięki wielkie za tak treściwą odpowiedz, zadziałała twoja konfiguracja, nie odpisywałem bo sprawdzałem parę edytorów zadziałało dopiero na pajączku, dopiero on dobrze zakodował w iso. A wy jakich edytorów używacie gdzie nie ma problemu z polskim kodowaniem??



Ps. wcześniej pisałem nie w notatniku smile.gif
in5ane
Pajączek najlepszy.
drPayton
Używaj edytora, który w ogólne MA możliwość ustawienia kodowania, bo to rzadkość. Ja np korzystam z kED2. A co do: mysql_query('SET CHARSET LATIN2');, o którym napisał @in5ane, to lepiej daj "SET NAMES" zamiast SET CHARSET, wówczas "cały ruch" DO i Z bazy będzie kodowany zgodnie z Twoim wyborem, wtedy kodowanie w bazie nie ma już znaczenia...
in5ane
Od kilku minut polecam:
Zend Studio Enterprise Edition v5.5.0.265

biggrin.gif
empathon
Cytat(in5ane @ 3.08.2007, 17:12:35 ) *
Od kilku minut polecam:
Zend Studio Enterprise Edition v5.5.0.265

biggrin.gif


No oczywiście jeśli co stać, jest to z pewnością dobry wybór. Edytor jest płatny.
Od siebie polecę darmowy Eclipse PDT który funkcjonalnością niewiele ustępuje produktowi Zend'a.
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.