|
|
|
Вопрос по кодировкам
|
|||
|---|---|---|---|
|
#18+
Пытаюсь сохранить в БД строку, содержащую символ "é". Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Пытаюсь применить Код: plaintext Как записать в БД этот долбаный сивол правильно? Сервер Firebird 1.5.0. Использую Jaybird FirebirdSQL-1.5.5JDK_1.4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2005, 18:16 |
|
||
|
Вопрос по кодировкам
|
|||
|---|---|---|---|
|
#18+
aquasnake > Пытаюсь сохранить в БД строку, содержащую символ "e". > Statement stat;Connection > con;Class.forName("org.firebirdsql.jdbc.FBDriver").newInstance();con > = DriverManager.getConnection("jdbc:firebirdsql://" + host + "/" + > dbName + "?lc_ctype=UNICODE_FSS", userName, > pwd);con.setAutoCommit(false); > stat = con.createStatement();int rowCount = > stat.executeUpdate(insertStr);stat.close(); > con.commit(); > В дебагере символ показывается правильно. А в БД он сохраняется > неправильно (при последующем чтении из БД он отображается > квадратиком). > Пытаюсь применитьnew String("e".getBytes(), "UTF-8") > Тогда сохраняется "?". > Как записать в БД этот долбаный сивол правильно? > Сервер Firebird 1.5.0. > Использую Jaybird FirebirdSQL-1.5.5JDK_1.4.Тема==Ответить то что он отображается неправильно еще не говорит о том, что он в бд лежит неправильно. кстати, что значит для строки "правильно лежать в БД"? это вроде зависит от настроек БД (кодировка итп). в любом случае конечный результат - это набор байтов на диске, которые можно по разному трактовать. ----------------------------------- The Bat + My Gate Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2005, 18:34 |
|
||
|
Вопрос по кодировкам
|
|||
|---|---|---|---|
|
#18+
Логично. Неправильно она там лежит, потому что, если ее аналогичным образом из БД брать, строка даже в дебагере показывается квадратиком. База создается так: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2005, 18:41 |
|
||
|
Вопрос по кодировкам
|
|||
|---|---|---|---|
|
#18+
Читайте внимательно описание вашего драйвера. Например в Oracle, можно указать дополнительные параметры коннекта через Properties. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2005, 20:27 |
|
||
|
Вопрос по кодировкам
|
|||
|---|---|---|---|
|
#18+
Да я вроде как правильно коннекчусь (lc_ctype=UNICODE_FSS)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2005, 21:46 |
|
||
|
Вопрос по кодировкам
|
|||
|---|---|---|---|
|
#18+
А какой параметр(кодировка) БД указали при создании таблици? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2005, 13:04 |
|
||
|
Вопрос по кодировкам
|
|||
|---|---|---|---|
|
#18+
Чуток затупил ... при создании базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2005, 13:05 |
|
||
|
Вопрос по кодировкам
|
|||
|---|---|---|---|
|
#18+
1. Посмотри как записалось в базу не дебагером а каким нить средством типа IBExpert с коннектом соответствующего чарсета. 2. Возможно волноваться нечего, т.к. основная идея записи такая. Ты кладешь символ в юникод при этом передаешь ему символ в другой кодировке (win1251 скажем), в базе он хранится в UTF-8, и запрашиваешь ты его в UTF-8, а смотришь этот символ приложением с кодировкой своей. Проверить это можно посмотреть побитно что суешь и что читаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2005, 12:31 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=783&tid=2151522]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 392ms |

| 0 / 0 |
