encoding? cyr->java->mysql->obratno

5 отговора 273 прегледа
#1

encoding? cyr->java->mysql->obratno

Holla,

imam si problem. triabva da prekaram kirilica prez java, da ia vkaram v mysql, i sled tova da si ia procheta, kato nakraia da razpolagam sas String sas sashtoto sadarjanie. JDBC, da

v momenta na izpalnenie, insert strting-a mi izglejda perfektno, kirilicata si e tam i t.n. v mysql-a poluchavam ????? vmesto cyr chars. napravih String-a s konstruktor s encoding (ISO-8...-1 kakto e tam), i veche v mysql-a ne poluchavam ???? a simvoli, no ne tezi, koito prashtam. pri chetene savsem se razbivat. probvah drugi ot standartnite encodingi, no bez uspeh. kato reshih da probvam windows-1251, se okaza, che toi e v i18n.jar, koito go niamam, a i neshto ne go namiram. dotuk sam stignal. utre shte probvam, da pravia string-a deto go cheta s edcoding, moje da pomogne, v takav sluchai prosto v consolata na mysqk shte imam gluposti, no inache shte raboti. tapoto e, che ako ot consolata napisha INSERT statement s cyr v nego si go insertva perfektno, no sled tova ot javata pak ne go chet dobre. molia za edno ramo

blagodaria predvaritelno,
pozdravi

Отговор
в отговор на lexo #2

Re: encoding? cyr->java->mysql->obratno

За да ти работи както трябва кирилицата в MySQL е задължително да си сетнал
default_character_set = cp1251
Това става в my.cnf (ако ти е под Linux)

Оттам нататъка просто трябва да внимаваш символите, които подаваш на базата да са с енкодинг ср1251.
Ако става дума за уеб приложение този линк може да ти е полезен. Не е толкова за MySQL, колкото за предаване на символи.
[линк]
Успех

Отговор
в отговор на Johny Bravo #3

da!

Johny,

blagodaria! v momenta pisha i cheta, kato encode-vam s 1251, a i mysql default-a mi e 1251. osven v console-ata (rabotia na/za win) vsichko e ok, v consolata e nechetimo, no tova ne e mnogo vajno.

pozdravi

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

Re: da!

Konzolata se dyrzhi taka zashtoto samata tq ne e kirilizirana.

Cheers

Отговор
в отговор на Johny Bravo #5

Re: encoding? cyr->java->mysql->obratno

10x za posta, opravi mi drug problem kato me svetna za cp1251 :)

Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Отговор
в отговор на lexo #6

Re: da!

Нeзависимо какво разбираш под конзола - клиентът също си има character_set и той може да е различен от сървърския.

mysql --help

--default-character-set=name
Set the default character set.

т.е. до 4.0 включително имаш винаги два character_set - на сървъра и на клиента.

От 4.1 нагоре става доста по-весело:
mysql> show variables like "char%";
+--------------------------+--------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------+
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_set_database | utf8 |
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character-sets-dir | /usr/local/mysql-4.1/share/mysql/charsets/ |
| character_set_results | utf8 |
+--------------------------+--------------------------------------------+


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

salle.online.bg/sig
Отговор