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

Sqlite delete enter character

SELECT replace(kategori_url, CHAR(10), '') from kategori_list; update kategori_list set kategori_url= replace(kategori_url, CHAR(10), '') where 1=1 …

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.