|
|
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Ребят, помогите. Наверное проблема уже заезженная, но не могу решить. Есть properties файл (в UTF-8), в нем написано "Мая ела кашу ложкой". Мне нужно прочитать эту надпись, сконкатенировать к ней дату "21.10.2016" и записать в БД кодировка которой cp1251. Вот как я читаю и конвертирую: Код: java 1. в результате в бд крякозябры. =( Вот не работает: Код: java 1. Так работает на одной машине (т.е. в БД пишутся не крякозябры), но не работает на другой машине (). и вот еще вариант, который пишет в бд крякозябры: Код: java 1. 2. 3. Помогите советом, как прочитать строку и записать ее в БД кодировка которой 1251. Заранее спасибо за советы и помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 19:36 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Из Java кодировки (UTF-8) в кодировку БД должен сам JDBC драйвер конвертировать. Если он конечно не криво настроен Т.ч. ничего руками конвертировать не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 19:38 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, так Код: java 1. тоже не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 19:45 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Не верю ( C ) Станиславский И какую ошибку выдает? Что такое AppProp? Как Вы его считываете из внешнего файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 19:48 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Класс, который читает файл. В нем метод: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 19:57 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
May12 InputStream fis = null; fis = new FileInputStream(propertiesFileFullPath); Properties prop = new Properties(); prop.load(fis); AFAIK Заменить InputStream на Reader и указать правильную кодировку входных данных. https://docs.oracle.com/javase/7/docs/api/java/util/Properties.html#load(java.io.Reader) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2016, 23:46 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevИз Java кодировки (UTF-8) Это бессмысленное утверждение, у строки нет кодировки. Кодировка есть у байтов, а строка - это набор символов. Возможно вы говорите про коды символов (числовое значение char), но это к заданному вопросу не относится, так как символы после декодирования содержимого файла и создания строки уже кривые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2016, 00:53 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 10:17 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TLeonid KudryavtsevИз Java кодировки (UTF-8) Это бессмысленное утверждение, у строки нет кодировки. Если Вы не видите в чем-то смысла, значит одно из трех: - смысла там нет - Вы не смогли его понять - Истина где-то рядом (C) авторы X-Files Человек немного ошибся, обычно кодировка строки символов в памяти jvm, не UTF-8, хотя и Unicode :). 2TC: В связи с чем, файл properties можно прочесть указав (явно или не очень), что он в кодировке UTF-8, и тем самым он будет переведен в кодировку jvm. И дальше jdbc драйверу можно будет указать в какой кодировке работает сеанс связи с СУБД (хотя он скорее всего и без вмешательства в курсе). Дальше все заработает само. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 12:06 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, Чувак, ты странный. Сергей Арсеньевобычно кодировка строки символов в памяти jvm Специально для тебя еще раз: Andrei TУ строки нет кодировки. Кодировка есть у байтов, а строка - это набор символов. Возможно вы говорите про коды символов (числовое значение char), но это к заданному вопросу не относится, так как символы после декодирования содержимого файла и создания строки уже кривые. Сергей Арсеньевфайл properties можно прочесть указав (явно или не очень), что он в кодировке UTF-8, и тем самым он будет переведен в кодировку jvm 1) Файлы .properties по умолчанию читаются в ISO-8859-1. 2) Кодировки у JVM нет, по крайней мере в области обсуждаемого вопроса. Есть кодировка строковых литералов из текста программы, но это здесь ни при чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 12:23 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TСпециально для тебя еще раз Повторение глупости умнее не делает. У байта нет кодировки. Это всего лишь несколько битов не больше не меньше. Вот символы строки могут отображаться на эти биты (байты) по разному. Это на жаргоне и называется "кодировка". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 12:28 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, Сергей АрсеньевУ байта нет кодировки. Это всего лишь несколько битов не больше не меньше. Вот символы строки могут отображаться на эти биты (байты) по разному. Это на жаргоне и называется "кодировка". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 12:48 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TКодировка есть у байтов, а строка - это набор символов. Еще раз! 1. у байтов кодировки нет - запиши в блокнот 2. у символов кодировка есть - это можно запомнить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 13:50 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
am_sasa, Ты не нервничай. Тебе и твоему альтер эго рекомендую научиться читать не по отдельным словам, а предложениями и в контексте. Никто про абстрактные байты не говорит, то что ты цитируешь относится к байтам в контексте обсуждения "кодировки строки". Кодировка строки - это её байтовое представление (байт - это в первую очередь число, а не "несколько битов не больше не меньше"). Слово "кодировка" в данном случае, для особо одаренных, означает не процесс кодировки и не функцию отображения, а закодированное состояние. Кодировка символов в JVM (числовое значение типа char) к обсуждаемому вопросу вообще не имеет отношения. Драйвер JDBC, который тут обсуждался, работает не с символами, а с байтовым представлением строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 14:05 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
am_sasa, am_sasa1. у байтов кодировки нет - запиши в блокнот 2. у символов кодировка есть - это можно запомнить Ты себе на лоб запиши: 1) Символ - это визуальное отображение буквы, цифры, знака пунктуации, и т.п. 2) Код символа - это число, или набор байтов 3) Кодировка байтов - это система преобразования символов в числовые коды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 14:31 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei T3) Кодировка байтов - это система преобразования символов в числовые коды Кодировка байтов - это система представления байтов в виде чего-нибудь еще (например в виде печатных символов - см. base64) А кодировка символов - это представление символов, например, в виде байтов. И Вы путаете сленг лингвистов со сленгом программистов при определении понятия символ. В общем, не страшно, но здесь тематический форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 14:37 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei T, ну извините, если обидел. Словосочетание "Кодировка байтов" это очень мощно... кодировка - это таблица/процесс/алгоритм перевода байт в символы и обратно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 14:41 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, am_sasa, Товарищи, у вас проблемы либо с чтением, либо с восприятием. Сергей Арсеньевфайл properties можно прочесть указав (явно или не очень), что он в кодировке UTF-8 Сергей АрсеньевУ байта нет кодировки Сергей АрсеньевКодировка байтов - это система представления байтов в виде чего-нибудь еще am_sasaСловосочетание "Кодировка байтов" это очень мощно... Файл - это байты или не байты? Почему у файла есть кодировка, а у байтов ее нету? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 15:34 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, Сергей АрсеньевИ Вы путаете сленг лингвистов со сленгом программистов при определении понятия символ Нда? Ну просвети меня, пожалуйста, что на сленге программистов этого форума означает "символ"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 15:36 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei T, Файл это файл. А символы, байткод, записи, фильмы или еще какие-нибудь объекты в нем - это как Вашей фантазии угодно. Главное, чтобы способ кодирования этого при записи соответствовал способу декодирования при чтении. А то возможна всякая абракадабра. Именно по этому Andrei Tу файла есть кодировка Что в переводе со сленга означает - информация в файле записана с использованием кодировки. P.S. Байты представляют собой последовательности бит, а те в свою очередь кодируются высоким и низким напряжением, но это уже немного из другой оперы. Andrei TНда? Ну просвети меня, пожалуйста, что на сленге программистов этого форума означает "символ"? Ну хотя бы как на Вики - https://en.wikipedia.org/wiki/Character_(computing) То, что ты подразумевал под символом там называется grapheme. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 16:06 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TФайл - это байты или не байты? Почему у файла есть кодировка, а у байтов ее нету? Потому что это в контексте читаемых файлов. Никто это явно не произносит но имеет ввиду У бинари файлов нет кодировки ибо это бесмысленно это набор байтов. Так же как и тестовые файлы это набор байтов. Текстовые файлы же говорят имеют кодировку в том плане что она указывает каким образом символы преобразовали в байты при записи и как эти байты преобразовать обратно в символы чтобы получить теже символы в которых его и создавали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 16:14 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
llemingПотому что это в контексте читаемых файлов. Никто это явно не произносит но имеет ввиду Мы тут изначально только в контексте читаемых (текстовых) файлов и разговариваем: Andrei TНикто про абстрактные байты не говорит Сергей АрсеньевФайл это файл. А символы, байткод, записи, фильмы или еще какие-нибудь объекты в нем - это как Вашей фантазии угодно. В случае данного топика в файле текст. Сергей АрсеньевAndrei Tу файла есть кодировкаЧто в переводе со сленга означает - информация в файле записана с использованием кодировки. Какая религия тебе запрещает использовать речевой оборот "записаны с использованием кодировки" в отношении байтов? Сокращая по возможности до "у байтов есть кодировка" по аналогии с "у файла есть кодировка"? Сергей АрсеньевP.S. Байты представляют собой последовательности бит, а те в свою очередь кодируются высоким и низким напряжением, но это уже немного из другой оперы. Я в принципе и так уже понял, что у тебя словесное недержание, и что ты тут пистишь чисто ради попистеть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 16:36 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TКакая религия тебе запрещает использовать речевой оборот "записаны с использованием кодировки" в отношении байтов? Сокращая по возможности до "у байтов есть кодировка" по аналогии с "у файла есть кодировка"? реально режет слух. всякий текст на диске есть набор байтов. не всякий набор байтов на диске есть текст. простая логика. одно умозаключение всегда верно, второе нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 16:50 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
llemingУ бинари файлов нет кодировки ибо это бесмысленно это набор байтов. А всякие биг-эндиан, ло-эндиан ? Zip, Gzip, Bmp, Jpeg и прочее.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 16:53 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
llemingреально режет слух. Ну это, без сомнения, очень весомый аргумент ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 17:02 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevllemingУ бинари файлов нет кодировки ибо это бесмысленно это набор байтов. А всякие биг-эндиан, ло-эндиан ? Zip, Gzip, Bmp, Jpeg и прочее.... годно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 17:05 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
llemingвсякий текст на диске есть набор байтов А не на диске? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 17:11 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
в памяти сойдет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 17:16 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
llemingв памяти сойдет ? А чего у тебя еще есть кроме памяти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 17:21 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TКакая религия тебе запрещает использовать речевой оборот "записаны с использованием кодировки" в отношении байтов? Эта религия называется русский язык. Ну не принято в нем сокращать "действие совершаемые с объектом, чтобы получить результат" до "действие результатов". Потому, что "мытье чистых окон" выглядит глупо, а "мытье окон" нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 17:30 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
есть а что имеено тебе нужно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 17:30 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
llemingесть а что имеено тебе нужно ? Ну ты озвучь чего есть, а там посмотрим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 17:31 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевAndrei TКакая религия тебе запрещает использовать речевой оборот "записаны с использованием кодировки" в отношении байтов? Эта религия называется русский язык. Ну не принято в нем сокращать "действие совершаемые с объектом, чтобы получить результат" до "действие результатов". Потому, что "мытье чистых окон" выглядит глупо, а "мытье окон" нет. Аутист? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 17:35 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevllemingУ бинари файлов нет кодировки ибо это бесмысленно это набор байтов. А всякие биг-эндиан, ло-эндиан ? Zip, Gzip, Bmp, Jpeg и прочее.... Индейцы это вообще не про байты, а про слова. И тут выдернуто из контекста, про то, что отображение буковок в циферки не называется "отображением циферок". И с символами jvm как раз через это отображение и работает. Хотя в языке Java мухи (символы) и котлеты (циферки) могут существовать раздельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 17:38 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TАутист? Не - программист. :) Не любит эта профессия "точных слов не помню, но содержание примерно такое..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 17:41 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei Tllemingесть а что имеено тебе нужно ? Ну ты озвучь чего есть, а там посмотрим. мне и этого хватает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 17:46 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевAndrei TАутист? Не - программист. :) Не любит эта профессия "точных слов не помню, но содержание примерно такое..." И при этом наша дискуссия началась со следующего: Сергей АрсеньевAndrei Tпропущено... Это бессмысленное утверждение, у строки нет кодировки. Если Вы не видите в чем-то смысла, значит одно из трех: - смысла там нет - Вы не смогли его понять - Истина где-то рядом (C) авторы X-Files Человек немного ошибся, обычно кодировка строки символов в памяти jvm , не UTF-8, хотя и Unicode :). 2TC: В связи с чем, файл properties можно прочесть указав ( явно или не очень ), что он в кодировке UTF-8, и тем самым он будет переведен в кодировку jvm . пропущено... Я вам указал на ваши фактические ошибки: 1) У java.lang.String нет кодировки 2) Файл .properties в UTF-8 можно прочитать только явно указав UTF-8 3) Набор слов "Строки символов в памяти JVM" имеет смысл только в контексте строковых литералов, содержащихся в исходном тексте программы 4) Набор слов "файл properties можно прочесть, указав что он в кодировке UTF-8, и тем самым он будет переведен в кодировку jvm" некорректен. Файл не будет никуда переведен, он будет декодирован в строку, у которой кодировки нет, потому что см. 1. Дальше вы начали строить из себя идиота, заниматься выборочным цитированием и придираться к словосочетанию "кодировка байтов". Хотя я доступно объяснил, что это сокращенное "байтовое представление строки в определенной кодировке", и что это должно быть понятно из контекста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 17:51 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Коллеги, не останавливайтесь. Ещё только вторая страница спора в котором все правы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 17:56 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei T1) У java.lang.String нет кодировки AFAIK 1. Она как суслик. Есть. Вроде называется Unicode ))) /скорее всего UTF-16/ 2. Вроде она сейчас в wide char, а раньше, если не ошибаюсь, внутрях была именно UTF8. JNMI до сих пор имеет функции работы со строками как с Utf8. AFAIK (могу ошибаться). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 18:03 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevВроде называется Unicode Нет такой кодировки. ;) Leonid Kudryavtsev2. Вроде она сейчас в wide char, а раньше, если не ошибаюсь, внутрях была именно UTF8. JNMI до сих пор имеет функции работы со строками как с Utf8. AFAIK (могу ошибаться). http://docs.oracle.com/javase/6/docs/api/java/lang/Character.html#unicode На сколько раньше? Java 1.1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 18:10 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНа сколько раньше? Java 1.1? Не помню уже. Лет 15 назад. Когда Java & Java Native Method Invocation занимался ))) Но и сейчас до сих пор актуально. Например, первая попавшаяся ссылка из google: http://openjdk.java.net/jeps/254 Если я правильно понимаю английский язык, не факт, что в String будет именно wide char. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 18:27 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevЕсли я правильно понимаю английский язык, не факт, что в String будет именно wide char. It is not a goal to use alternate encodings such as UTF-8 in the internal representation of strings Английский не нужен. Шипилёв многократно по-русски объяснял что это будет. А что же нам скажет гугл про wide char Wide characters are multilingual character codes that are always 16 bits wide Леонид, вы меня пугаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 18:34 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevAndrei T1) У java.lang.String нет кодировки AFAIK 1. Она как суслик. Есть. Вроде называется Unicode ))) /скорее всего UTF-16/ 2. Вроде она сейчас в wide char, а раньше, если не ошибаюсь, внутрях была именно UTF8. JNMI до сих пор имеет функции работы со строками как с Utf8. AFAIK (могу ошибаться). Это все классно, и написано в javadoc'е java.lang.String. Только я никак не возьму в толк, какое отношение внутреннее представление строки имеет к задаче перекладывания текста из файла в базу. Это избыточная информация, которая может только запутать неопытного в Java человека. Коллега Сергей Арсеньев вот вроде настаивает, что внутренняя кодировка как-то используется драйвером в сеансе связи с СУБД -- это же очевидный бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2016, 18:46 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TЯ вам указал на ваши фактические ошибки: 1) У java.lang.String нет кодировки Andrei TДальше вы начали строить из себя идиота, заниматься выборочным цитированием и придираться к словосочетанию "кодировка байтов". Хотя я доступно объяснил, что это сокращенное "байтовое представление строки в определенной кодировке", и что это должно быть понятно из контекста. Прежде чем считать других идиотами определись. Есть ли у символов в java.lang.String внутри JVM "байтовое представление строки в определенной кодировке" или нет. А то какая-то шиза у тебя наблюдается. То нет, то есть. И дальше уж в соответствии c этим делай выводы. Кроме того тебе сказали, что она называется на сленге - "кодировкой символов" ибо "кодировка байтов" это другое, о чем чуть выше повествовали. P.S. 2 TC чтоб записать Uncode символы в properties не обязательно не обязательно использовать UTF-8, их можно кодировать так: Код: java 1. Если все не Latin-7 символы кодировать так, то можно сохранять и в UTF-8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 09:45 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei Tчто внутренняя кодировка как-то используется драйвером в сеансе связи с СУБД -- это же очевидный бред. Не считайте бредом то, что Andrei Tникак не возьму в толк Фраза была про то, что если Строка в JVM находится в правильном представлении, то нормальный и правильно настроенный jdbc драйвер должен сам ее сохранить в представлении СУБД и лишних телодвижений делать не надо. За исключением тех типов данных, которым требуется явное указание кодировки. Кроме того, даже начинающий программист должен понимать, что при сохранении в СУБД в кодировке 1251 он скорее всего потеряет те символы Unicode, которых в этой кодировке нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 10:00 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczАнглийский не нужен. Шипилёв многократно по-русски объяснял что это будет. Разве не своего рода реинкарнация -XX:+UseCompressedStrings? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 10:02 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевРазве не своего рода реинкарнация -XX:+UseCompressedStrings? Да, но, не такая корявая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 10:16 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, Вот тут Шипилев объясняет разницу между UseCompressedStrings и JEPS 254 https://www.infoq.com/news/2016/02/compact-strings-Java-JDK9 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 10:31 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei T. Коллега Сергей Арсеньев вот вроде настаивает, что внутренняя кодировка как-то используется драйвером в сеансе связи с СУБД -- это же очевидный бред. в файле одна кодировка в jvm другая в БД третья. Если драйвер не использует кодировки зачем тогда в jdbc url явно указывать кодировку клиента ? Это jdbc url драйвер и парсит это точно. я чет как то ковырял. В postgresql можно явно сменить кодировку клиента в сессии даже в середине сессии. Об этом только драйвер может и знать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 10:34 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевЕсть ли у символов в java.lang.String внутри JVM "байтовое представление строки в определенной кодировке" или нет. Нету, дубинушка. Если ты конечно не начнешь сейчас аппелировать к тому, что в "памяти" все хранится в виде байтов и прочей болтологии, которой ты тут занимаешься. Сергей АрсеньевФраза была про то, что если Строка в JVM находится в правильном представлении, то нормальный и правильно настроенный jdbc драйвер должен сам ее сохранить Строка в JVM по определению из JLS может находиться только в одном представлении - массив юникодных символов. Правильное это представление или нет зависит только от одного - какую кодировку использовали при декодировании байтового представления этой строки. Драйвер JDBC работает тоже с байтовым представлением строки, которое он явно получает через java.lang.String.getBytes(databaseEncoding). У тебя в голове каша манная вместо того, что там должно быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 10:48 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
llemingЕсли драйвер не использует кодировки зачем тогда в jdbc url явно указывать кодировку клиента? Драйвер как раз их и использует. Он преобразует строку из кодировки jvm в кодировку сессии и отправляет СУБД. СУБД преобразует строку из кодировки сессии в кодировку в которой указано хранить. (Хотя возможны ньюансы). Но это для типов данных на которые влияет кодировка сессии. Для тех же BLOBов (и прочих RAW) или для специальных типов, для которых указана альтернативная кодировка нужны специальные указания (или не нужны если просто перекодирования не предполагается а надо хранить как есть в виде байтиков) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 10:56 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TНету, дубинушка. Прежде чем с Вами конструктивно разговаривать дайте понятие своему определению "кодировка символов". Ибо то, что понимают все остальные под этим термином, Вы называете "кодировка байтов". P.S. И да мы все тут про хранение символов в памяти в виде последовательностей байтов, если походите по ссылкам выше, может прочтете, что иногда JVM это делает по разному и даже указывает как именно в составе типа java.lang.String. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 11:02 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевAndrei TНету, дубинушка. Прежде чем с Вами конструктивно разговаривать дайте понятие своему определению "кодировка символов". Ибо то, что понимают все остальные под этим термином, Вы называете "кодировка байтов". P.S. И да мы все тут про хранение символов в памяти в виде последовательностей байтов, если походите по ссылкам выше, может прочтете, что иногда JVM это делает по разному и даже указывает как именно в составе типа java.lang.String. Про "хранение символов в памяти в виде последовательностей байтов" тут говоришь только ты. Потому что, как я сказал ранее, у тебя приступ словоблудия. Изначальный вопрос, если ты взглянешь на название темы, к вопросу внутреннего устройства конкретной реализации JVM не имеет никакого отношения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 11:39 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TПро "хранение символов в памяти в виде последовательностей байтов" тут говоришь только ты. Нет. Про это сказал, немного ошибшись в деталях, Леонид. А вот Вы надумали себе что-то про то, что нет никакой кодировки и начали вещать про это. На что Вам и было указано. В главном, что преобразование из кодировки в которой JVM хранит строки в кодировку сеанса связи с СУБД занимается jdbc драйвер никто и не спорил. Собственно ответ на вопрос TC и заключается в том, чтобы расписать шаги, как из кодировки файла получить строки в кодировке JVM и как их потом отправить в СУБД. Утверждение, что нет никакой кодировки ибо эта информация лишняя, никакого конструктива не несет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 11:48 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевAndrei TПро "хранение символов в памяти в виде последовательностей байтов" тут говоришь только ты. Нет. Про это сказал, немного ошибшись в деталях, Леонид. На что Вам и было указано. Ты в хамской форме написал невнятную чушь с рядом фактических ошибок. Если подводит память, то может помочь вернуться к началу темы и прочитать еще раз. Сергей АрсеньевВ главном, что преобразование из кодировки в которой JVM хранит строки в кодировку сеанса связи с СУБД занимается jdbc драйвер никто и не спорил. Никакими преобразованиями драйвер не занимается. Он получает уже преобразованную строку через вызов стандартного API (как этот API реализован в конкретной JRE - не важно), в той кодировке, которая ему требуется. Сергей АрсеньевУтверждение, что нет никакой кодировки ибо эта информация лишняя, никакого конструктива не несет. За такой конструктив обычно снимают баллы. Просто потому что отвечать надо по существу вопроса, а не вываливать все свои скудные познания по теме и не по теме в нечленораздельной форме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 12:57 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, Сергей АрсеньевА вот Вы надумали себе что-то про то, что нет никакой кодировки Это не я надумал, это задокументированный и всем известный факт. Твоя проблема - в незнании терминологии и Сергей АрсеньевПрежде чем с Вами конструктивно разговаривать дайте понятие своему определению "кодировка символов". Ибо то, что понимают все остальные под этим термином, Вы называете "кодировка байтов". непонимании того, что "кодировка символов" и "кодировка байтов" это два абсолютно разных понятия. Это выглядит особенно глупо на фоне того, как ты с апломбом знатока фамильярно коверкаешь непосредственно относящиеся к делу термины: Сергей АрсеньевLeonid Kudryavtsevпропущено... А всякие биг-эндиан, ло-эндиан ? Zip, Gzip, Bmp, Jpeg и прочее.... Индейцы это вообще не про байты, а про слова. Если ты в курсе про порядок байтов, то проблем с пониманием того, что является и не является кодировкой, по идее быть не должно. Тем не менее они есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 13:19 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei Tнепонимании того, что "кодировка символов" и "кодировка байтов" это два абсолютно разных понятия. Тут унас расхождений нет. Просто то, что Вы называете, "кодировкой байтов" для меня "кодировка символов". Кодировка байтов - (представление байтов в другой форме нежли последовательность 8 битов, чисел от 0-255 и т.п.) это действительно совсем другое дело. С другой стороны, поскольку Ваша "кодировка символов" в действительности не существует, по Вашему утверждению, то и зачем знать, что это такое. И если действие производится через стандартное API, это не означает, что оно не производится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 13:35 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевТут унас расхождений нет. Просто то, что Вы называете, "кодировкой байтов" для меня "кодировка символов". Кодировка байтов - (представление байтов в другой форме нежли последовательность 8 битов, чисел от 0-255 и т.п.) это действительно совсем другое дело. А мне кажется, что именно здесь у нас и есть расхождение. Я еще в самом начале темы объяснил, что, как и почему я называю "кодировкой символов" (числовые коды) и "кодировкой байтов" (байтовое представление). Более того, я в своем первом комментарии, к которому ты придрался, объяснил, почему "кодировка символов" к обсуждаемому вопросу отношения не имеет. Что ты лично под кодировкой подразумеваешь, я до сих пор так и не понял. По-моему ты и сам запутался уже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 17:17 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевP.S. И да мы все тут про хранение символов в памяти в виде последовательностей байтов, если походите по ссылкам выше, может прочтете, что иногда JVM это делает по разному и даже указывает как именно в составе типа java.lang.String. Вот это та самая несусветная чушь на которую вам указывает Andrei T. Строки в JVM _всегда_ в UTF-16. Кодировка возникает только при преобразовании byte[] -> String и String -> byte[] и это всегда кодировка byte[]. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 17:54 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
2.3. Primitive Types and Values char, whose values are 16-bit unsigned integers representing Unicode code points in the Basic Multilingual Plane, encoded with UTF-16, and whose default value is the null code point (' ') Код: java 1. 2. 3. 4. 5. Хоть бы в документацию заглянул кто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 18:07 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Тут больше спор по терминологии и документация тут не поможет. Если кодировка у String и есть ли она у byte[] здесь вот например тожу по этому вопросу бугуртили http://stackoverflow.com/questions/5729806/encode-string-to-utf-8 второй ответ. по сути даже вопрос тоже самый с крякозябрами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 18:21 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
fixxerВот это та самая несусветная чушь на которую вам указывает Andrei T. Строки в JVM _всегда_ в UTF-16. Кодировка возникает только при преобразовании byte[] -> String и String -> byte[] и это всегда кодировка byte[]. Лично я несусветной чуши не вижу. А объяснения, в чем же заключается "несусветность" приводит к значительно большей чуше. IMHO Вообще, предлагаю закруглятся. А то все по принципу: когда встречаются два философа и начинают беседу с фразы "давайте сначала договоримся о терминологии". Проблема топик-стартера решилась на 8-ом сообщении, 9-ое сообщение от Сергей Арсеньев последнее, которое хоть какой-то смысл имело. IMHO Далее на двух страницах флем/треп/стеб о "терминологии". При этом от людей, которые вряд ли на практике с сложными вещами из Unicode сталкивались. А всякие "сложности" типа диакретических знаков и прочего.... как я понимаю, ровно так же сложностями в Java 1.8 и остались ((( Что и утверждение "String это набор символов без кодировки" делает так же не корректным. Т.к. достаточно столкнутся с "supplementary code points", что бы схватиться за голову и начинать крыть матом на Unicode и людей которые его придумали. Я свое уже отхватался в начале 2000-х, но тогда UTF-16/32 еще за не надобностью даже и не было, был только UTF-8. Когда выяснил, что нужных мне по работе символов в Unicode нет и не планируется. Вроде даже из комитет ответили, что добавить не могут - т.к. место кончилось )))). BlazkowiczА что же нам скажет гугл про wide char Wide characters are multilingual character codes that are always 16 bits wide Леонид, вы меня пугаете. Не понял, чем пугаю, т.к. например англоязычныя Вики уверяет: https://en.wikipedia.org/wiki/Wide_character Size of a wide character UTF-16 little-endian is the encoding standard at Microsoft (and in the Windows operating system). Yet with surrogate pairs it supports 32-bit as well.[1] The .Net Framework platform supports multiple wide-character implementations including UTF7, UTF8, UTF16 and UTF32.[2] The Java platform requires that wide character variables be defined as 16-bit values, and that characters be encoded using UTF-16 (due to former use of UCS-2), while modern Unix-like systems generally require 32-bit values encoded using UTF-32.[citation needed] Я лично понимаю под wide char The C standard distinguishes between multibyte encodings of characters, which use a fixed or variable number of bytes to represent each character (primarily used in source code and external files), from wide characters, which are run-time representations of characters in single objects (typically, greater than 8 bits). Т.е. противопоставление Wide char (один символ - одно значение) и Multi Bytes (один символ - несколько значений). Как выяснилось, тут тоже ошибался (((, т.к. оказывается в Java все же multi bytes ))). Точнее multi Characters, т.к. если я правильно прочел Вашу ссылку, есть символы, кодируемые двумя Character'ами. Т.е. честным wide char и не пахнет ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 18:38 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevЛично я несусветной чуши не вижу. Ну как не видите? Сергей АрсеньевP.S. И да мы все тут про хранение символов в памяти в виде последовательностей байтов, если походите по ссылкам выше, может прочтете, что иногда JVM это делает по разному и даже указывает как именно в составе типа java.lang.String. В этой фразе две фактических ошибки: 1. JVM не "делает это по разному". 2. "в составе типа java.lang.String" не указано ничего связаное с кодировкой, там толико char[], а char как примитивный тип четко специфицирован в JVM Spec, ссылку куда я привел. И терминология тут не при чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 18:47 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevВообще, предлагаю закруглятся. Ну, нет. Давайте продолжать. Я прям зачитываюсь этим спором на ровном месте. Leonid KudryavtsevА то все по принципу: когда встречаются два философа и начинают беседу... Во-во. Если JDBC вызывает метод JSE, который конвертирует строку в байты, то кто же "делает" это преобразование? Драйвер или JVM? Филосифия зашкаливает. Leonid KudryavtsevНе понял, чем пугаю, т.к. например англоязычныя Вики уверяет... Я лично понимаю под wide char... Тогда предлагаю исключить этот термин из обсуждения в виду отсутсвия его точного определения. Leonid KudryavtsevCharacters, т.к. если я правильно прочел Вашу ссылку, есть символы, кодируемые двумя Character'ами. Да, ты же сам про codepoint выше написал. Leonid KudryavtsevТ.е. честным wide char и не пахнет ((( Ну, это же UTF-16 и есть. Предлагаю этот термин исключить из обсуждения, потому что ты понимаешь под ним что-то своё. А в интернетах мнения расходятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 18:52 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczLeonid KudryavtsevВообще, предлагаю закруглятся. Ну, нет. Давайте продолжать. Я прям зачитываюсь этим спором на ровном месте. So do I Я бы продолжил, но в твоем сообщении только один вопрос: BlazkowiczВо-во. Если JDBC вызывает метод JSE, который конвертирует строку в байты, то кто же "делает" это преобразование? Драйвер или JVM? Курица ! Т.к. спор курица vs яйцо явно возник значительно раньше, чем Java - то думаю, во всем она /курица/ и виновата ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2016, 19:15 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
fixxerВот это та самая несусветная чушь на которую вам указывает Andrei T. Строки в JVM _всегда_ в UTF-16 . Кодировка возникает только при преобразовании byte[] -> String и String -> byte[] и это всегда кодировка byte[]. А - он говорит другое. Б - выделено жирным В - почитайте ссылки выше, про варианты представления строк при использовании определенных ключей, и то, что засунуто в java 9 Кодировка чего-то это представление чего-то в другом виде. Если позиция Andrei Tя называю "кодировкой символов" (числовые коды) Имеет право на существование, (и более того IMHO верна), хотя некоторые считают, что это не так BlazkowiczLeonid KudryavtsevВроде называется Unicode Нет такой кодировки. ;) Хотя Unicode и есть стандарт кодирования символов числом. Спор весь построен на фразе, что коды к вопросу не относятся. Хотя описание процесса в ответе Леонида и было в последовательности преобразований кодов символов. Суть же ответа, что надо указать исходные для файла или переделать файл так, чтоб он правильно преобразовывался к типу char и далее уже по накатанной... С этим как сказал один умный человек BlazkowiczКоллеги, не останавливайтесь. Ещё только вторая страница спора в котором все правы. Просто спор о том, что такое Java закончился, а интересных тем не было... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 13:15 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВо-во. Если JDBC вызывает метод JSE, который конвертирует строку в байты, то кто же "делает" это преобразование? Арифметеко-логическое устройство же. Вышеперечисленные им только командуют по иерархии. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 13:19 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевХотя Unicode и есть стандарт кодирования символов числом. Верно. Но в этом стандарте нет ни слова о том как упаковать это число в байты. Сергей АрсеньевПросто спор о том, что такое Java закончился, а интересных тем не было... Сегодня на повестке дня "Скриптлеты. Удобный инструмента или пагубная привычка?". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 13:21 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
fixxer2. "в составе типа java.lang.String" не указано ничего связаное с кодировкой, там толико char[], а char как примитивный тип четко специфицирован в JVM Spec, ссылку куда я привел. -XX:+UseCompressedStrings и JEP 254: Compact Strings Хотя в основном да это тип char, который с точки зрения программиста на языке Java никак не связан с числом если не копаться внутри. Если покопаться, то может быть выяснено, что он может представлять собой записанные в кодировке UTF-16 символы. Но, как сказал уважаемый оппонент, копаться не стоит, ибо к делу не относится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 13:34 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВерно. Но в этом стандарте нет ни слова о том как упаковать это число в байты. Так там же группа стандартов. В нее входят и про форматы трансформации этих кодов. Ну хоть бы RFC 4042. :) BlazkowiczСегодня на повестке дня "Скриптлеты. Удобный инструмента или пагубная привычка?". Спасибо, пойду почитаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 13:39 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньевfixxer2. "в составе типа java.lang.String" не указано ничего связаное с кодировкой, там толико char[], а char как примитивный тип четко специфицирован в JVM Spec, ссылку куда я привел. -XX:+UseCompressedStrings и JEP 254: Compact Strings Какой вы трудный. -XX:+UseCompressedStrings был введен в Java 6 update 21 в качестве экспериментальной фичи, в последствии это было признано ошибкой и опция была deprecated в Java 7 и убрана в Java 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 14:34 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
[quot Blazkowicz]Сергей АрсеньевХотя Unicode и есть стандарт кодирования символов числом. Верно. Но в этом стандарте нет ни слова о том как упаковать это число в байты. Вообще-то есть: http://unicode.org/glossary/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 14:50 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
http://unicode.org/reports/tr17/#CharacterEncodingScheme просто ссылка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 15:02 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
fixxerКакой вы трудный. -XX:+UseCompressedStrings был введен в Java 6 update 21 в качестве экспериментальной фичи, в последствии это было признано ошибкой и опция была deprecated в Java 7 и убрана в Java 8. Занудный. Собственно речь и шла, про редкие случаи (плюс то, что по слухам намечается в 9-ке из коробки). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 15:16 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
lleming http://unicode.org/reports/tr17/#CharacterEncodingScheme просто ссылка Хорошая ссылка, некоторым тут будет полезно её распечатать и внимательно прочитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 15:25 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TХорошая ссылка, некоторым тут будет полезно её распечатать и внимательно прочитать. Учитель, только Я уверовал, что их нет и быть не может, как стало надо учить какие они бывают. Я не поспеваю за Вашей мыслью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 16:10 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевAndrei TХорошая ссылка, некоторым тут будет полезно её распечатать и внимательно прочитать. Учитель, только Я уверовал, что их нет и быть не может, как стало надо учить какие они бывают. Я не поспеваю за Вашей мыслью. Это тем более удивительно, учитывая что по ссылке написано практически буквально то, что тебе объясняют уже 3 страницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 16:19 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TВообще-то есть: http://unicode.org/glossary/ Вообще-то там даже HTML упоминается. С такой логикой HTML это тоже часть Unicode. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 16:20 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczAndrei TВообще-то есть: http://unicode.org/glossary/ Вообще-то там даже HTML упоминается. С такой логикой HTML это тоже часть Unicode. Отличная идея для новой темы, а то эта похоже уже себя исчерпала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 16:28 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TЭто тем более удивительно, учитывая что по ссылке написано практически буквально то, что тебе объясняют уже 3 страницы. Не там про байтики. А мы договорились, что жто не савсем то. Тем более что там, про форму. P.S. Вы так и не поняли про что мы спорим. Про умение выражать свои мысли. - ТС задал вопрос. - Леонид начал, несколько утрировано и с ошибками объяснять как оно происходит "изнутре" Еслиб Вы сказали, что-то типа: из несказанного- начинающему программису не стоит сильно заморачиваться на тему, как оно устроено внутри, при хранении и обработке типа char, а рассматривать строковой тип как черный ящик и сосредоточится на правильном приведении последовательности символов закодированных в файле к этому типу. Для чего либо стоит использовать файлы в кодировке ISO-8859-1 с кодированием остальных символов в виде Unicode кодов с подставочным символом '\'. Либо указывать кодировку файла при его открытии. Кто бы с Вами спорил. Но Вы сказали - кодировок нет. И мы стали согласовывать терминологию. Вот, например, я подразумеваю под "кодировкой символов" систему правил, которая определяет: - правила кодирования символов (подстановки им в соответствие некого кода); - правила перевода кодов символов из одной формы в другую (например большие-маленькие); - правила сравнения символов по кодам (равно-не равно, раньше-позже); - правила лингвистической сортировки; и т.п. Поэтому, для меня фраза "этого всего в Java нет" выглядит, мягко говоря, странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 16:43 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевПоэтому, для меня фраза "этого всего в Java нет" выглядит, мягко говоря, странно. Может тебе в таком случае воспользоваться твоим же советом с первой страницы: Сергей АрсеньевЕсли Вы не видите в чем-то смысла, значит одно из трех: - смысла там нет - Вы не смогли его понять - Истина где-то рядом (C) авторы X-Files И допетрить, наконец, что в данной теме обсуждается совсем не то, о чем ты все пытаешься нам рассказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 16:54 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, Самое интересное, что в самом первом моем сообщении (на которое ты наехал) было сказано в т.ч. и про "кодировку символов" в твоей интерпретации . Но ты это упорно игнорируешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 16:57 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TСамое интересное, что в самом первом моем сообщении (на которое ты наехал) было сказано в т.ч. и про "кодировку символов" в твоей интерпретации . В том смысле, что ее нет? Символы закодированы никак. Кодируются только байты. Символы битые. Остальное к вопросу не относится. Про то и был последующий разговор, что когда Вы говорите некоторые очевидные Вам вещи, встает вопрос - что Вы имеете ввиду? Вы же на него обижаетесь. Вот и пришлось из Вас клещами вытягивать, извините за это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 17:07 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевAndrei TСамое интересное, что в самом первом моем сообщении (на которое ты наехал) было сказано в т.ч. и про "кодировку символов" в твоей интерпретации . В том смысле, что ее нет? Символы закодированы никак. Кодируются только байты. Символы битые. Остальное к вопросу не относится. Будь добр, процитируй еще раз мое первое сообщение, на которой ты ответил. Потому что сейчас ты уже просто гонишь . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 17:12 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TLeonid KudryavtsevИз Java кодировки (UTF-8) Это бессмысленное утверждение, у строки нет кодировки. Кодировка есть у байтов, а строка - это набор символов. Возможно вы говорите про коды символов (числовое значение char), но это к заданному вопросу не относится, так как символы после декодирования содержимого файла и создания строки уже кривые. Найди 7 отличий. Сергей Арсеньев В том смысле, что ее нет? Символы закодированы никак. Кодируются только байты. Символы битые. Остальное к вопросу не относится. Ну да краткая выжимка, как она понята - см. про X Files. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 17:17 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевAndrei Tпропущено... Это бессмысленное утверждение, у строки нет кодировки. Кодировка есть у байтов, а строка - это набор символов. Возможно вы говорите про коды символов (числовое значение char), но это к заданному вопросу не относится, так как символы после декодирования содержимого файла и создания строки уже кривые. Найди 7 отличий. Сергей Арсеньев В том смысле, что ее нет? Символы закодированы никак. Кодируются только байты. Символы битые. Остальное к вопросу не относится. Ну да краткая выжимка, как она понята - см. про X Files. Кажется я понял, в чем проблема. Попробуй сесть ближе к монитору. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2016, 11:39 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Andrei TКажется я понял, в чем проблема. Попробуй сесть ближе к монитору. Что Вы начнете внятно выражать свои мысли и объясните почему Вы считаете, что в Java не определен результат следующей операции: Код: java 1. Заметим ни о каких байтиках речи не идет. Но соответствие между числовым кодом и символом есть. А значит есть и кодировка (правила присвоения кода). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2016, 20:41 |
|
||
|
Как записать строку из properties-файла (UTF-8) в БД с кодировкой WIN1251?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевЧто Вы начнете внятно выражать свои мысли и объясните почему Вы считаете, что в Java не определен результат следующей операции: Код: java 1. Что это за онанизм? Пояснишь, что ты имел в виду, и почему нельзя написать просто Код: java 1. ? Сергей АрсеньевЗаметим ни о каких байтиках речи не идет. Но соответствие между числовым кодом и символом есть. А значит есть и кодировка (правила присвоения кода). Никто с этим и не спорит. 'Ё' -> U+0401 'Ё' -> [(char)0x401] "Ё" -> [(byte)0x4, (byte)0x1] "Ё" -> [(byte)0x1, (byte)0x4] "Ё" -> [(byte)0xFE, (byte)0xFF, (byte)0x4, (byte)0x1] "Ё" -> [(byte)0xFF, (byte)0xFE, (byte)0x1, (byte)0x4] Все из вышеперечисленного можно называть "кодировкой". Весь вопрос в том, что из этого мы понимаем под кодировкой в рамках данного топика . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2016, 13:32 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2123557]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
72ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
110ms |
get tp. blocked users: |
2ms |
| others: | 217ms |
| total: | 451ms |

| 0 / 0 |
