Pokazywanie postów oznaczonych etykietą kodowanie. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą kodowanie. Pokaż wszystkie posty

2014-02-27

[pgsql] Funkcja replace() - zmiana treści

Kiedyś pisałem już o postgresowej funkcji replace(). Ostatnio przydała mi się ona ponownie i postanowiłem po raz kolejny o niej wspomnieć. Wykorzystałem ją do zmiany nazwy ulicy - zdarzyło mi się, że adresy niektórych użytkowników posiadały (zamiast polskich znaków) niezrozumiałe znaki (spowodowane to było przenoszeniem danych między różnymi systemami na przestrzeni wielu lat).
Poniżej przedstawiam sposób wykorzystania funkcji replace() na małym przykładzie, w którym zmieniamy w tabeli user w kolumnie ulica znaki "¦" na "Ś":

UPDATE user SET ulica=replace(ulica, '¦', 'Ś') WHERE ulica like '%¦%';

Powyższe zapytanie zaktualizuje wszystkie wpisy w tabeli user, które mają w polu ulica znak "¦" na "Ś". Warto przed odpaleniem takiego zapytania najpierw sprawdzić co tak naprawdę zwraca funkcja i ile rekordów zostanie zmienionych. Poniższe zapytanie da nam taką odpowiedź:

SELECT id, ulica, replace(ulica, '¦', 'Ś') FROM user WHERE ulica like '%¦%';

źródło: http://www.postgresql.org/docs/9.1/static/functions-string.html

2011-06-01

[php] rawurlencode() i [js] decodeURIComponent()

Chcąc zakodować jakiś string w PHP i poprawnie go odkodować przy użyciu JavaScriptu proponuję zastosować wbudowane funkcje: rawurlencode() i decodeURIComponent().
urlencode() nie do końca mi wystarczyło - funkcja zmienia na przykład spację na "+" zamiast na %20 (przez co trudniej taki string odkodować wbudowanymi funkcjami w js). decodeURI natomiast nie odkodowało np. znaków %21 (!) czy %40 (@).
Tak więc rawurlencode() i decodeURIComponent() to dobre połączenie - przynajmniej dla mnie. :-)