Крилица в Oracle?

24 отговора 889 прегледа
#1

Крилица в Oracle?

Нещо не мога да се справя с кирилицата в Oracle. При инсталиране ме пита по едно време каква кодова таблица ще се използва и аз избрах 1251.
Сега за проба си направих една таблица, една от колоната е за имена. Като добавям ред в таблицата /с SQL+/ пеша име на кирилица, а после като дам Select * from tablica, вместо кирилица излизат въпросителни.
За полето използвах както char, така и nchar, но все не става
Как се оправя проблема?
Сървъра е 9.0.1.1.1 върху XP Professional, а клиента върху W2K.

Отговор
в отговор на Mими #2

Re: Крилица в Oracle?

A v SQL+ mojesh li da pishesh kirilitza?

Отговор
в отговор на Zloster #3

Re: Крилица в Oracle?

Trqbva da si nastroish ne samo bazata a i klienta, shtom si pod XP , togava ot REGEDIT , si nastroi NLS_LANG , vuv HOME0 nai veroqtno.

Отговор
в отговор на Zloster #4

Re: Крилица в Oracle?

трябва да е :
BULGARIAN_BULGARIA.CL8MSWIN1251
в registry-to

Отговор
в отговор на legato #5

Re: Крилица в Oracle?

Ami ne e zaduljitelno ....

Отговор
в отговор на Mими #6

Това съм го пробвала!

Това беше първото дето го гледах. В регистрите беше записано AMERICAN_BULGARIA.CL8MSWIN1251 и аз го смених със BULGARIAN_BULGARIA.CL8MSWIN1251 във всичките homove дето ги има, ама пак същото.
На сървъра още от началото си е BULGARIAN_BULGARIA.CL8MSWIN1251

Някой няма ли да даде друга идея

Отговор
в отговор на Mими #7

Re: Това съм го пробвала!

v SQL*Plus se pravqt drugi nastroiki za da mozhe da raboti s kirilica. Nqmash li drug klient kato TOAD ili PL/SQL Developer, nastroi si go za rabota s kirilica i probvai s nego. Taka trqbva da stane.

Отговор
в отговор на svircho #8

Re: Това съм го пробвала!

A dali imash kirilitza v operacionnata sistema, koqto polzvash?

Отговор
в отговор на Zloster #9

Re: Това съм го пробвала!

Не че искам да се заяждам, ама не обичам така. Хубаво е че искаш да помогнеш, но чети внимателно какво се пише в постинга. Написала съм ясно, че клиента е върху W2K, пък ти отговаряш, че на клиента в XP трябва да се смени нещо си в регистъра. Написала съм съвсем ясно, че пиша име на кирилица, което след това излиза с въпросителни, а ти питаш дали имам кирилица. Имам естествено, да не мислиш че тия неща ги пиша с маркер по екрана.
Все пак благодаря за отзивчивостта

Отговор
в отговор на Mими #10

Re: Това съм го пробвала!

OK , ami i W2K ima registur :-))
Ami dobre m zna4i do momenta imame , pravilno nastroen character set an servera i clinet-a , kirilitza na operacionnata sistema , a ne moje da bude insert-nata kirilitza v bazata. Svircho pravilno popita za tova dali se opitvash da insertnesh kiritza prez SQLPLUS ili nqkoi drug tool, a moje bi prez JDBS ili neshto takova ,kaji ti4no prez kakvo opitvash za da buda po-konkreten , a spored men prez TOAD ili PLSQL Developer shte mojesh , bez da se nalagat dopulnitelno pormeni.

Отговор
в отговор на Zloster #11

Добре де, ще повторя

И това съм го написала, но ще повторя, та да отхвърлим работа
Опита беше със SQL Plus. Не видях никъде да има нещо за настройка на шрифтове или кодови таблици в SQL Plus. И на клиента и на сървъра има инсталирана кирилица и работи. В интерес на истината, като пусна SQL Plus на сървъра, не може да се пише на кирилица, но никъде не видях възможност за промяна на шрифта - явно добре са го скрили някъде. На всякакви други прогррами обаче, няма проблем с писане на кирилица. Включително и в SQL Plus Worksheet

Отговор
в отговор на Mими #12

Re: Добре де, ще повторя

OK , zna4i ve4e nastroivane SQL+ , za da moje da pishe kirilitza:
otidi vuv suotvetniq HOME v registrite i sloji slednite string values:
SQLPLUS_FONT_CHARSET = russian
Eto i drugite vuzmojnosti za tozi parametur:
DEFAULT,SYMBOL,SHIFTJIS,HANGEUL,GB2312,CHINESEBIG5,OEM,JOHAB,HEBREW
ARABIC,GREEK,TURKISH,VIETNAMESE,THAI,EASTEUROPE,RUSSIAN,MAC,BALTIC

Taka 4e probvai koi shte ti svurshi rabota , no spored men RUSSIAN shte svurshi.

Taka i taka sme zapo4nali da nastroivane SQL+
moje kato se rovish v registrite da setnesh i tezi paramerti ( ako ne si gi setnala )
kato ti davam i stoinostite koito az sum slojil , t.e. sa primerni:
SQLPLUS_FONT = Courier New
SQLPLUS_FONT_SIZE = 16
....
Nadqwam se tova ve4e da ti svurshi rabota :-)

Отговор
в отговор на Zloster #13

Цъ, не става

Все тая. На сървъра въобще не може да пише на кирилица, а на клиента пише, но след това излизат въпросителни.

Отговор
в отговор на Mими #14

Re: Цъ, не става

Tova ve4e naistina me u4udva , az ne sum imal nikoga tolkova 'uporiti' problemi s kirilitza
Probvai s tozi character set
AMERICAN_AMERICA.WE8ISO8859P1
s nego uspqvam ednovremenno da pisha nqkolko ezika v bazata.

No 4estno kazano , pti tezi nastroiki , ne znam zashto ne se polu4ava...
Moje bi trqbvat servera i klienta da se razgledat po-podrobno , neshto moje bi pre4i , ne e setnato ili ... nqmam ideq v momenta , ako se setq neshto oshte shte postna suobshtenie tuk

Отговор
в отговор на Zloster #15

Re: Цъ, не става

Не искам да давам акъл, но просто се чудех: ако има разминаване м/у тоола и съръва в смисал кирилицата да е ANSI или UNICODE, а Oracle-a, демек дения записва UNICODE, другия очаква ANSI или обратното, просто предположение :)

Отговор
в отговор на Mими #16

A DB charset-a?

А какъв ти е database character set-a?

Tova po-dolu bi trqbvalo da ti go pokaje:

SELECT VALUE FROM v$NLS_parameters
WHERE parameter = 'NLS_CHARACTERSET'

Досега ставаше въпрос за настройките само на клиента (настройките в регистрите на сървъра се отнасят за клиента, който се намира на сървъра).

Отговор
в отговор на Mими #17

Re: Крилица в Oracle?

Кодовите таблици на сървъра и на клиента е добре да съвпадат (всъщност може и да не съвпадат, но май тази на клиента трябваше да е подмножество на тази върху сървъра).

Така че, според мен, трябва да видиш каква е кодовата таблица върху сървъра и да зададеш същата и върху клиента в Registry - ключът NLS_LANG

В случая е важна кодовата таблица; параметрите BULGARIAN и BULGARIA показват разни други настройки - календар, валута и т.н.

Отговор
в отговор на Ивaн #19

Re: Крилица в Oracle?

Ти май не си направи труда да попрочетеш преди това какжо е писано по темата?

Защо да правим нещата лесно...
Отговор
в отговор на Mими #20

Re: Крилица в Oracle?

В крайна сметка оправи ли се кирилицата или не?
Аз пробвах 9i, но версия 9.2 и нямаше проблеми - НИКАКВИ с кирилицата под XP. Все пак може да погледнеш в регистрите на машината, на която пишеш кирилица HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\ID0....ID_MAX
и да си сложиш и там CL8MSWIN1251 - това е само идея. И разбира се да рестартираш приложението, в което пишеш при всеки опит - това е ясно и се предполага, че го знаеш.

Друга идея - потърси в HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE всичко дето е NLS_LANG - да не би все пак да е останал някой NLS различен от българския.
Надявам се да не досаждам, но проверката си е ....... проверка.

Весели празници!!!

Отговор