[Java] JDBC
попробуй все хранить в utf-8, так правильнее
постгрес ругается на
вот такое
insert into T values('некоторый текст');
если база в кодировке UTF
говорит типа это не юникод
вот такое
insert into T values('некоторый текст');
если база в кодировке UTF
говорит типа это не юникод
ну значит ты не юникод шлешь, правильно тебе говорят.
я точно припоминаю, что были какие-то когда-то проблемы у постгреса с русскими не юникодными кодировками...
хмм.
именно чтото хитрое надо указать в пропертях коннекта.
из phpPgAdmin-a, pgAdmina все ОК.
делал аналогично с французским языком база была в той же кодировке все ОК, но не из под джавов.
так у джавы строки представляются в виде юникода ил у меня уже крыша едет?
volume_id = Integer.parseInt(dbp.next_id("volumes_id_volume";
String q_insert = "insert into Volumes (ID_Volume, ID_Journal, ID_Status, VolumeTitleEng, VolumeTitleRus, VolumeUrlSD) " +
"values (" + Utils.strQuoteP(volume_id + "") + ", " +
Utils.strQuoteP(journal_id + "") + "," +
Utils.strQuoteP(sActiveStatus) + ", " +
Utils.strQuoteP(strTitleEng) + "," +
Utils.strQuoteP(Translator.Translate(strTitleEng + "," +
Utils.strQuoteP(strUrl) +
")";
dbp.execute(q_insert);
именно чтото хитрое надо указать в пропертях коннекта.
из phpPgAdmin-a, pgAdmina все ОК.
делал аналогично с французским языком база была в той же кодировке все ОК, но не из под джавов.
вот уж что не знаю, так вашу Джаву 
наверняка тебе постгрес не врет, так в чем проблема перекодировать?

наверняка тебе постгрес не врет, так в чем проблема перекодировать?
PreparedStatement не пробовал использовать? Реально помогает - не надо писать такую жесть в виде запроса... Если уж JDBC пользовать - то до конца 

то есть ты используешь
propConn.put("useUnicode","true");и дефолтная кодировка базы utf -8 и не работает?
propConn.put("characterEncoding", "UTF-8");
propConn.put("user", user);
propConn.put("password", pwd);
без пропертей записать в базу utf не получается. 

не пробовал предпочитаю запрос контролировать сам, я понимаю о чем идет речь 

ты бы лучше послушал, че тебе умные люди советуют...
кто именно?
перепробовал все. ни хрена не работает.

перепробовал все. ни хрена не работает.

кто именно?может по ссылке будет понятнее?
ня смяшно.
ты же джавер подскажи плиз
, соком или пывом проставлюсь
именно под постгрес, под оракл я знаю как
ты же джавер подскажи плиз
, соком или пывом проставлюсь именно под постгрес, под оракл я знаю как

пробовал PreparedStatement пользовать?
ага типа аналог ADO. ладно ща попробую.
тревожит меня чтото мой юный поддаван. (с) Лукас
тревожит меня чтото мой юный поддаван. (с) Лукас
ладно сделал.
dbp.connection.prepareStatement("insert into Volumes (ID_Volume, ID_Journal, ID_Status, VolumeTitleEng, VolumeTitleRus, VolumeUrlSD) " +
"values (" + Utils.strQuoteP(volume_id + "") + ", " +
Utils.strQuoteP(journal_id + "") + "," +
Utils.strQuoteP(sActiveStatus) + ", " +
Utils.strQuoteP(strTitleEng) + "," +
Utils.strQuoteP(Translator.Translate(strTitleEng + "," +
Utils.strQuoteP(strUrl) +
")");
как применить?
Примерно так это должно выглядеть, вроде:

Только, по-моему, это не сильно должно помочь в твоей ситуации, хотя, вполне возможно, я ошибаюсь.
если sActiveStatus - это String, конечно
PreparedStatement stmt = dbp.connection.prepareStatement(
"insert into Volumes (ID_Volume, ID_Journal, ID_Status, VolumeTitleEng, " +
"VolumeTitleRus, VolumeUrlSD) values ( ? , ? , ? , ? , ? , ? )"
);
stmt.setInt(1, volume_id);
stmt.setInt(2, journal_id);
stmt.setString(3, sActiveStatus);
stmt.setString(4, strTitleEng);
stmt.setString(5, Translator.Translate(strTitleEng;
stmt.setString(6, strUrl);
stmt.execute;

Только, по-моему, это не сильно должно помочь в твоей ситуации, хотя, вполне возможно, я ошибаюсь.
погоди а данные в препаре низя писать чтоли?
в лом мне set делать
в лом мне set делать

Можно, а в чем смысл prepared statement'а с данными? 
Все, я пошел спать

Все, я пошел спать

запрос хочу контролировать сам 


ни хрена не в этом дело.
еще раз повторюсь под мускулом работает, что надо указать постгресу в пропертях коннекта.
вопрос закрыт спасибо -у за помощь и тестирование
и как проблема решилась?
проблема решилась так: базу я оставил в SQLASCII, записанный туда юникод, при выводе напечать переконверчиваю в cp1251.
базу делать в utf-8 плохо тем что она здоровая и размер подрастет причем значительно.
для коннекта проперти используется вот это(именно для постгреса)
базу делать в utf-8 плохо тем что она здоровая и размер подрастет причем значительно.
для коннекта проперти используется вот это(именно для постгреса)
Properties propConn = new Properties;
propConn.put("useUnicode","true");
propConn.put("charSet", "utf8");
propConn.put("user", user);
propConn.put("password", pwd);
connection = DriverManager.getConnection(getJDBCURL(host, port, db propConn);
базу делать в utf-8 плохо тем что она здоровая и размер подрастет причем значительноВот это все-таки интересно проверить. Мне кажется, что если хранить в базе unicode строки, то размер SQLASCII-базы будет такой же, как размер UTF8-базы, но зато UTF8 будет более "правильно".
любое изменение базы со стороны клиента написанного не на джаве требует добавления конвертилки строк в геа-8, что не удобно, хотя правильно.
размер можно оценить позже.
хотя ща сделаю. и сообщу о результатах.
размер можно оценить позже.
хотя ща сделаю. и сообщу о результатах.
Страницу надо просто выдавать тоже в UTF-8 и все. Все делать в UTF-8, и никаких конвертилок 

бля ну уж нет знаешь что такое верстать html в утф, у нас верстальщик заебся, просто это гиморой и причем большой.
создай хтмл страницу в юникоде сохрани блокнотом и порадуйся, что получилось
создай хтмл страницу в юникоде сохрани блокнотом и порадуйся, что получилось

вот тебе юникод
6 à 8 semaines avant le déménagement
Déterminer le jour du déménagement
Prévoir un à deux jours de congé – vous en aurez besoin.
Décidez si vous aurez besoin d'un déménageur professionnel ou si vous pourrez compter sur vos parents et amis. Prenez soins d'étudier les deux possibilités – malgré que les coûts soient plus élevés en engageant des professionnels, c'est souvent beaucoup plus simple et rapide.
Si vous optez pour engager une compagnie de déménagement, réservez dès maintenant.
Si vous optez pour le faire vous même, recrutez amis et famille.
Assurez-vous que votre déménageur possède une assurance et vérifiez auprès des responsables ce qui est assuré et quels sont les déductibles.
Vérifiez auprès de votre assureur si votre contrat d'assurance habitation couvre les dommages qui peuvent subvenir pendant le déménagement.
Faites une liste de vos objets de valeur (tableaux, bibleaux, bijoux, etc) et photographiez-les.
Donnez à votre compagnie de déménagement la liste des choses qui ne doivent pas être déménagées.
Procurez vous des boîtes si votre déménageur ne les fournit pas ou si vous déménagez vous-même.
Assurez-vous d'avoir en main; papier adhésif, papier à bulles, étiquettes et crayons feutre.
Identifiez les boîtes: Indiquez la pièce ou doivent être déposées les boîtes et apposez une liste détaillée des objets qui s'y trouvent.
Évitez de faire des boîtes trop lourdes en combinant des objets légers et lourds.
Utilisez la nourriture de votre congélateur et diminuez les réserves dans le garde-manger.
notepad поддерживает unicode.
только он будет не utf8, как мне кажется.
наверняка, есть редакторы под windows, которые умеют редактировать файлы в utf8
только он будет не utf8, как мне кажется.
наверняка, есть редакторы под windows, которые умеют редактировать файлы в utf8
хохо, notepad поддерживает и виндовый юникод, и utf8!
сверстай =) хтмл
Не буду, я же не верстальщик. Но только я все равно не понимаю, в чем проблема-то?
Оставить комментарий
laki
в мускуле работает все ок при добавлении русских данных.в постгресе не работает пишет хитрые значки
кодирока базы:
Name Description
SQL_ASCII ASCII
когда делаю запись из pgAdmin-a, содержащую русские слова, все ОК. че надо указать в пропертях коннекта?