0
Как проверить кодировку символов таблицы или столбца в DB2?Как проверить кодировку символов таблицы или столбца в DB2?
У меня есть странные символы, появляющиеся в некоторых записях в базе данных DB2, и мне было интересно узнать, как я могу проверить текущую кодировку символов для таблицы или столбца.
Из-за этого, я получаю сообщение об ошибке. Вот трассировка стека.
Exception: [jcc][t4][1065][12306][3.64.106] Caught java.io.CharConversionException.
See attached Throwable for details. ERRORCODE=-4220, SQLSTATE=null
01/14/2014 01:44:44 AM HTTP JVM: com.ibm.db2.jcc.am.SqlException: [jcc][t4][1065][12306][3.64.106] Caught java.io.CharConversionException. See attached Throwable for details. ERRORCODE=-4220, SQLSTATE=null
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.bd.a(bd.java:663)
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.bd.a(bd.java:60)
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.bd.a(bd.java:112)
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.fc.a(fc.java:2825)
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.fc.p(fc.java:525)
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.fc.N(fc.java:1562)
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.ResultSet.getStringX(ResultSet.java:1147)
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.ResultSet.getString(ResultSet.java:1122)
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.ResultSet.getString(ResultSet.java:1698)
01/14/2014 01:44:44 AM HTTP JVM: at PersonalInventionHistory.inventorDetail(Unknown Source)
01/14/2014 01:44:44 AM HTTP JVM: at PersonalInventionHistory.NotesMain(Unknown Source)
01/14/2014 01:44:44 AM HTTP JVM: at lotus.domino.AgentBase.runNotes(Unknown Source)
01/14/2014 01:44:44 AM HTTP JVM: at lotus.domino.NotesThread.run(Unknown Source)
01/14/2014 01:44:44 AM HTTP JVM: Caused by:
01/14/2014 01:44:44 AM HTTP JVM: java.nio.charset.MalformedInputException: Input length = 3793
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.r.a(r.java:19)
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.fc.a(fc.java:2821)
01/14/2014 01:44:44 AM HTTP JVM: ... 9 more
01/14/2014 01:44:44 AM HTTP JVM: Caused by:
01/14/2014 01:44:44 AM HTTP JVM: sun.io.MalformedInputException
01/14/2014 01:44:44 AM HTTP JVM: at sun.io.ByteToCharUTF8.convert(ByteToCharUTF8.java:293)
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.r.a(r.java:16)
01/14/2014 01:44:44 AM HTTP JVM: ... 10 more
Это зависит от платформы и версии DB2. Вы также можете подробно описать, как вы определили, что __strange characters__ появляются в базе данных, а не как артефакт клиента, который вы используете. – mustaccio
Согласитесь с @mustaccio - я изучил данные такого рода раньше - с одного клиента у меня был акцентированный y, а другой - с акцентом i. Такое поведение _may_ оказало некоторое влияние на результаты копирования на Notepad (слишком долго, чтобы точно запомнить) ... Поскольку я искал «необычных» символов, я не стал выяснять, какой из них был прав (путем изучения байтов и проверка таблиц кодирования). –