Kodowanie UTF-8 --> zamiana znaków - problem


(Arol25) #1

Zrobiłem sobie pięknie dodawanie rekordów w MySQL i PHP - kodowanie utf8 pięknie ustawione - aż dumny z siebie jestem... :smiley:

Teraz mam taki problem --> kodowanie wstawianego tekstu. Za polskie znaki chcę wstawić polskie znaki w unicode jako cyfry (tabelka z nimi tutaj: http://webdesign.art.pl/atelier/unicode.html na samym dole strony)

np.

ą = ą

ć = ć

Jak zmienić znaki "normalne" na unicode ? Próbowałem Grzegrzółką, ale nie wstawia ona kodów - cyfr, lecz znaczniki...


(Kontakt) #2

Miałem gdzieś takie coś juz napisane. Wsadź to np. w functions.php. Includuj w pliku gdzie będzie to potrzebne:

<?php


	function polskie_znaki($zmienna){

		$zmienna = addslashes($zmienna);


		$zmienna = str_replace("ą","ą", $zmienna);

		$zmienna = str_replace("ć","ć", $zmienna);

		$zmienna = str_replace("ę","ę", $zmienna);

		$zmienna = str_replace("ł","ł", $zmienna);

		$zmienna = str_replace("ń","ń", $zmienna);

		$zmienna = str_replace("ó","ó", $zmienna);

		$zmienna = str_replace("ś","ś", $zmienna);

		$zmienna = str_replace("ź","ź", $zmienna);

		$zmienna = str_replace("ż","ż", $zmienna);

		$zmienna = str_replace("Ą","Ą", $zmienna);

		$zmienna = str_replace("Ć","Ć", $zmienna);

		$zmienna = str_replace("Ę","Ę", $zmienna);

		$zmienna = str_replace("Ł","Ł", $zmienna);

		$zmienna = str_replace("Ń","Ń", $zmienna);

		$zmienna = str_replace("Ó","Ó", $zmienna);

		$zmienna = str_replace("Ś","Ś", $zmienna);

		$zmienna = str_replace("Ź","Ź", $zmienna);

		$zmienna = str_replace("Ż","Ż", $zmienna);


		return $zmienna;

	}


?>

I jak będziesz chciał tego użyć to:

$tresc = polskie_znaki($tresc);

(floyd) #3

Na stronie:replaacepl

jest programik o nazwie replacePL w którym jest taka opcja jak: konwersja która robi to co chcesz w wielu plikach jednocześnie, albo nawet w wielu katalogach..


(Arol25) #4

Hmm... Gdzie konkretnie w poniższym kodzie wstawić includa? :wink:

<? 


      $osoba = addslashes(htmlentities ($_POST['osoba']));

      $tresc = addslashes(nl2br(htmlentities ($_POST['tresc'])));


      if ($osoba && $tresc) { 

         // s± wpisane dane, dodajemy je do bazy

         mysql_connect ("localhost", ".....", ".........") or 

           die ("Blad polaczenia");

         mysql_select_db ("....") or 

           die ("Bledne polecenie");

         $query = "INSERT INTO wpisy (tresc, osoba,".

           " data) VALUES ('$tresc', '$osoba', ".

           "now());";

         $wynik = mysql_query ($query);

         print "

Dziękuję za dodanie wpisu!

Pojawi się on, gdy tylko zostanie zaakceptowany przez administratora.
"; } else { print " "; print " Tresc wpisu: print "ROWS=6 COLS=38>$tresc "; print " Twoj nick: print "NAME=\"osoba\" VALUE=\"$osoba\" SIZE=60> "; print ""; print ""; } ?>[/code]


(Kontakt) #5

Include po prostu na samej górze pliku:

include "functions.php";

A potem korzystasz z funkcji, w którym miejscu chcesz :slight_smile: