[ FranjoZG @ 04.10.2017. 14:04 ] @
Vidim da i nema aktivnosti... Svi sve znaju o FB ili više nitko ne radi s njim?


Koristim FB 2.5
Kako u stor proceduri, u varijablu upisati naša slova?
Code:

VarStr = 'Bez računa';


javlja grešku:
This operation is not defined for system tables.
unsuccessful metadata update.
MODIFY RDB$PROCEDURES failed.
Malformed string.

Ako "č" zamjenim sa "c", sve je OK.
[ FranjoZG @ 04.10.2017. 14:26 ] @
Našao... ako koga zanima:

Code:

VarStr = 'Bez ra' || x'e8' || 'una';


Ord('č') = 232 hex = e8

Ostala slova koja vam trebaju - tražite...
[ jablan @ 04.10.2017. 14:54 ] @
Vodi računa da kod koji si naveo nije unicode. Ja ne bih savetovao korišćenje 8-bitnih kodnih rasporeda u 2017.
[ savkic @ 04.10.2017. 17:54 ] @
> Kako u stor proceduri, u varijablu upisati naša slova?

Podesi da prilikom konekcije ne bazu koristis odgovarajuci charset, a takodje mozes i podesiti u samoj SP charset za promenljive.

Code:

CREATE PROCEDURE NEW_PROCEDURE
RETURNS(
  RES VARCHAR(50) CHARACTER SET WIN1250)
AS
DECLARE VARIABLE Test VARCHAR(50) CHARACTER SET WIN1250;
BEGIN
  Test = 'ŠđĆŽĐćdč ';
  
  Res = Test;
  SUSPEND;
END

[ FranjoZG @ 05.10.2017. 09:38 ] @
Probao sam to. Baza mi je WIN1250.
Radim sa IBExpert-om, ne prolazi ...

Pokušao sam kreirati i domenu, ne prolazi:
Code:

CREATE DOMAIN VCHAR_80 AS
VARCHAR(100) CHARACTER SET WIN1250
COLLATE PXW_SLOV;
[ savkic @ 05.10.2017. 13:53 ] @
Meni radi tako u EMS SQL Manageru...
[ Brodoplovac @ 18.10.2017. 18:38 ] @
Ja sam imao problem da unesem kukasta slova u bazu preko isql-a, u Windowsu 10. Baza ima UTF8 enkoding. Probao sam sa menjanjem kodnog resporeda shella, probao sam sa "SET NAMES" komandom, probao sam razne enkodinge, ništa nije davalo konzistentan rezultat. Inače, regional settings mi je podešen na srpski, latinica.

Onda sam pročitao da na Linuxu shell radi po UTF8 rasporedu. Znao sam za cygwin i za bash za windows. Skinuo sam cygwin mod. On mi je konačno dao konzistentan rezultat. Cygwin mod instalirate kao običan windows program. Na kraju dobijete ikonicu kojom otvarate cygwin shell.

Kada se otvori cygwin shell kucate (backslesh je escape znak za space):
/cygdrive/c/Program\ Files/Firebird/Firebird_3_0/isql.exe

Nakon toga ste u isql i sve normalno radi.

Takođe, ovaj cygwin shell radi malo drugačije od windows shella što se tiče copy/paste i sličnih stvari.
EDITOVANO: Cygwin shell nije case sensitive.

[Ovu poruku je menjao Brodoplovac dana 19.10.2017. u 16:59 GMT+1]
[ Brodoplovac @ 28.12.2017. 14:15 ] @
EDIT: Ovo rešenje ne radi. Kliktao sam direktno na BAT fajl, ali on u stvari otvara običan shell. Konačno sam pronašao rešenje. Dovoljno je kliknuti na Desni ALT i na odgovarajući znak na tastaturi i sve radi normalno.

Cygwin nije hteo da piše znakove @€[]{} kada se koristi srpska tastatura. Rešenje je da se u fajlu "C:\cygwin64\Cygwin.bat" stavi linija "SET TERM=cygwin" ispred "bash --login -i". Sada sve lepo radi.

Code:
@echo off
C:
chdir C:\cygwin64\bin
SET TERM=cygwin
bash --login -i


Još neka rešenja za ovaj ili slične probleme su na linku superuser.com




[Ovu poruku je menjao Brodoplovac dana 29.12.2017. u 12:11 GMT+1]