Anasayfa / Database / Postgresql / Postgresql upper lower Türkçe karakter sorunu için function

Postgresql upper lower Türkçe karakter sorunu için function

Postgresql veritabanı kullanıyor ve türkçe karakter girişi yaptığınız alanlarda upper lower fonksiyonlarında sıkıntı yaşıyorsanız bunun sebebi veritabanınızı create ederken locale vermediğiniz için olabilir.

örnek postgresql create database cümlemiz:

CREATE DATABASE my_db ENCODING='UTF-8' LC_COLLATE='tr_TR.UTF-8' TEMPLATE=template0;

 

CREATE OR REPLACE FUNCTION "public".upper_tr("varchar")
RETURNS "varchar" AS
$BODY$
BEGIN
RETURN UPPER(TRANSLATE($1,'ıi','Iİ'));
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;




CREATE OR REPLACE FUNCTION "public".lower_tr("varchar")
RETURNS "varchar" AS
$BODY$
BEGIN
RETURN lower(TRANSLATE($1,'Iİ','ıi'));
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

windows için

CREATE DATABASE tr_demo
ENCODING='UTF-8'
LC_COLLATE = 'Turkish_Turkey.1254'
LC_CTYPE='Turkish_Turkey.1254'
TEMPLATE template0;

ayrıca farklı bir çözüm
https://stackoverflow.com/questions/13029824/postgres-upper-function-on-turkish-character-does-not-return-expected-result

 

Hakkında ibrahim

İlgili Makaleler

Ubuntu Postgresql ve pgx_ulid yükleme.

Ulid nedir? postgresql için kullanacağımız Ulid kütüphanesi https://github.com/pksunkara/pgx_ulid Ubuntu server 22.04 versiyonu ile deniyorum GNU …

Bir yorum

  1. sene 2021 olmasına rağmen bill amca bu sorunu neden çözmez, teşekkürler bilgi için.

Tolga için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir