Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] zamiana polskich znaków
max_mcee
post 23.01.2012, 15:28:51
Post #1





Grupa: Zarejestrowani
Postów: 156
Pomógł: 1
Dołączył: 25.09.2007

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
miniol
post 23.01.2012, 15:45:56
Post #2





Grupa: Zarejestrowani
Postów: 84
Pomógł: 4
Dołączył: 25.03.2011

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


Tak, da radę. Użyj tego:
  1. mysql_query ("UPDATE `tabela` SET `tekst` = REPLACE(`tekst`, 'ś', 's);");
I analogicznie do innych znaków.
Go to the top of the page
+Quote Post
rocktech.pl
post 23.01.2012, 15:46:57
Post #3





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

  1. $chraset = "UTF-8";
  2. $text = "Zażółć gęślą jaźń";
  3. $text = iconv($charset, "ASCII//TRANSLIT//IGNORE", $text);
  4. echo $text;


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
max_mcee
post 23.01.2012, 15:56:56
Post #4





Grupa: Zarejestrowani
Postów: 156
Pomógł: 1
Dołączył: 25.09.2007

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


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);


Ten post edytował max_mcee 23.01.2012, 15:57:43
Go to the top of the page
+Quote Post
miniol
post 23.01.2012, 15:59:47
Post #5





Grupa: Zarejestrowani
Postów: 84
Pomógł: 4
Dołączył: 25.03.2011

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


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.
Go to the top of the page
+Quote Post
max_mcee
post 23.01.2012, 16:04:41
Post #6





Grupa: Zarejestrowani
Postów: 156
Pomógł: 1
Dołączył: 25.09.2007

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


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.

Ten post edytował max_mcee 23.01.2012, 16:05:04
Go to the top of the page
+Quote Post
miniol
post 24.01.2012, 08:54:20
Post #7





Grupa: Zarejestrowani
Postów: 84
Pomógł: 4
Dołączył: 25.03.2011

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


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.

Ten post edytował miniol 24.01.2012, 08:55:40
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 16:57