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

Informix unload file to postgresql import

TBL_TEST.unl dosyamızın sonunda ki pipe “|” yok etmek için python da küçük bir script ile …

Bir yorum

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

Bir cevap yazın

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