Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] zamiana polskich znaków
Forum PHP.pl > Forum > Przedszkole
max_mcee
Witam

Da się z poziomu PHP napisać skrypt który polskie znaki zamieni automatycznie na zwykłe, np: ś na s, ł na l, itd. questionmark.gif
miniol
Tak, da radę. Użyj tego:
  1. mysql_query ("UPDATE `tabela` SET `tekst` = REPLACE(`tekst`, 'ś', 's);");
I analogicznie do innych znaków.
rocktech.pl
Witam.

  1. $chraset = "UTF-8";
  2. $text = "Zażółć gęślą jaźń";
  3. $text = iconv($charset, "ASCII//TRANSLIT//IGNORE", $text);
  4. echo $text;
max_mcee
Cytat(miniol @ 23.01.2012, 15:45:56 ) *
Tak, da radę. Użyj tego:
  1. mysql_query ("UPDATE `tabela` SET `tekst` = REPLACE(`tekst`, 'ś', 's);");
I analogicznie do innych znaków.


W takim przypadku zamienie mi wszystkie rekordy w bazie na załóżmy 'tekst'
Jak to można rozwiązać ?

  1. $sql = "UPDATE studios SET state = REPLACE('małopolskie', 'ł', 'l');";
  2. $wynik = mysql_query($sql);
miniol
Zamieni Ci znak ś na znak s w kolumnie `tekst`. Jeśli chcesz konkretny rekord, to stosujesz warunek WHERE.
Najlepiej to połączyć moje wypociny z tymi od rocktech.pl i będzie to najlepsza opcja.
max_mcee
Cytat(miniol @ 23.01.2012, 15:59:47 ) *
Zamieni Ci znak ś na znak s w kolumnie `tekst`. Jeśli chcesz konkretny rekord, to stosujesz warunek WHERE.
Najlepiej to połączyć moje wypociny z tymi od rocktech.pl i będzie to najlepsza opcja.

  1. $sql = "UPDATE studios SET state = REPLACE('state', 'ł', 'l');";
  2. $wynik = mysql_query($sql);


mam coś źle w tym zapytaniu ? Ponieważ jak to użyję czyli 'state' to nazwa kolumny w bazie danych to do wszystkich rekordów zamiast zamienić ł na l wpisuje 'state'/

Strona rocktech.pl nie działa.
miniol
Spróbuj tak:
  1. $sql = "UPDATE `studios` SET `state` = REPLACE(`state`, 'ł', 'l');";
  2. $wynik = mysql_query($sql);


Użyłeś apostrofów zamiast znacznika backquote.
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.