Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> encje numeryczne, Problem z odczytem
irekpil
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 13.11.2008

Ostrzeżenie: (0%)
-----


Wiatjcie mam problem z encjami numerycznymi. Problem polega na tym, że jak ktoś wpisuje tekst do strony cudysłów i znak - zamieniają się na encje numeryczne. Próbowalem wszytkich funkcji by je zmienić przy odczycie z bazy MySQL by zmieniły się w znaki ale nic czami encja jest połączona z wyrazem.
Zastosowalem ta funkcje ale nie dział.
ze strony http://pl.php.net/manual/pl/function.html-entity-decode.php

function unhtmlentities($string)
{
// replace numeric entities
$string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string
);
$string = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $string
);
// replace literal entities
$trans_tbl = get_html_translation_table(HTML_ENTITIES
);
$trans_tbl = array_flip($trans_tbl
);
return strtr($string, $trans_tbl
);
}

$c = unhtmlentities($a
);

Proszę o pomoc
Go to the top of the page
+Quote Post
pinochet
post
Post #2





Grupa: Zarejestrowani
Postów: 120
Pomógł: 12
Dołączył: 9.10.2008
Skąd: Tricity.Rumia()

Ostrzeżenie: (0%)
-----


jak wyglądają wartości zmiennych $a, $c a jak oczekiwane $c ... w jaki sposób pobierasz dane z bazy? jak wygdlaczego nie używasz php 4.3+ ? I jeszcze wyjaśnij to:
Cytat
jak ktoś wpisuje tekst do strony cudysłów i znak
Go to the top of the page
+Quote Post
irekpil
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 13.11.2008

Ostrzeżenie: (0%)
-----


Sprawa wygląda tak. Ktoś przekleja z worda tekst do formularza na stronie. To jest wartość $a.
np. wpisywany do formularza
" to tylko niektóre z tematów II Ogólnopolskiej Konferencji"
zapisany do bazy wygląda tak
.#8211; to tylko niektóre z tematów II Ogólnopolskiej Konferencji .#8222

<FORM ENCTYPE="multipart/form-data" ACTION="dodanie.php?id=<?PHP echo $id ?>" METHOD=POST name="edycja" accept-charset="iso-8859-2">
Ten zapis accept-charset="iso-8859-2" powinnien zmienić encje na znaki ale tego nie robi.
Tekst ładuje się do bazy już z encami numerycznym. Czyli wynika, że samo form prztwarz znaki na encje.
Jak się wpisuje cudzysłów ręcznie przesyła poprawnie. Próbowałem inych sposobów by zmienić te encje, ale też nie działały. Podałem ten przykład bo sądzę że jest on dobrze zrobiony.

Już wiem do MySQL wpisujują się encje i potem sa odczytywane jako encje a nie znaki.



Pozdrawiam






Cytat(pinochet @ 13.11.2008, 20:20:27 ) *
jak wyglądają wartości zmiennych $a, $c a jak oczekiwane $c ... w jaki sposób pobierasz dane z bazy? jak wygdlaczego nie używasz php 4.3+ ? I jeszcze wyjaśnij to:


Ten post edytował irekpil 14.11.2008, 17:03:25
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 06:44