mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
fixed encoding example
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
package com.alibaba.otter.canal.example;
|
package com.alibaba.otter.canal.example;
|
||||||
|
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.commons.lang.SystemUtils;
|
import org.apache.commons.lang.SystemUtils;
|
||||||
@@ -254,7 +254,17 @@ public class AbstractCanalClientTest {
|
|||||||
protected void printColumn(List<Column> columns) {
|
protected void printColumn(List<Column> columns) {
|
||||||
for (Column column : columns) {
|
for (Column column : columns) {
|
||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
|
try {
|
||||||
|
if (StringUtils.containsIgnoreCase(column.getMysqlType(), "BLOB")
|
||||||
|
|| StringUtils.containsIgnoreCase(column.getMysqlType(), "BINARY")) {
|
||||||
|
// get value bytes
|
||||||
|
builder.append(column.getName() + " : "
|
||||||
|
+ new String(column.getValue().getBytes("ISO-8859-1"), "UTF-8"));
|
||||||
|
} else {
|
||||||
builder.append(column.getName() + " : " + column.getValue());
|
builder.append(column.getName() + " : " + column.getValue());
|
||||||
|
}
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
}
|
||||||
builder.append(" type=" + column.getMysqlType());
|
builder.append(" type=" + column.getMysqlType());
|
||||||
if (column.getUpdated()) {
|
if (column.getUpdated()) {
|
||||||
builder.append(" update=" + column.getUpdated());
|
builder.append(" update=" + column.getUpdated());
|
||||||
|
|||||||
@@ -88,8 +88,6 @@ public class LogEventConvert extends AbstractCanalLifeCycle implements BinlogPar
|
|||||||
private volatile AviaterRegexFilter nameBlackFilter;
|
private volatile AviaterRegexFilter nameBlackFilter;
|
||||||
|
|
||||||
private TableMetaCache tableMetaCache;
|
private TableMetaCache tableMetaCache;
|
||||||
private String binlogFileName = "mysql-bin.000001";
|
|
||||||
|
|
||||||
private Charset charset = Charset.defaultCharset();
|
private Charset charset = Charset.defaultCharset();
|
||||||
private boolean filterQueryDcl = false;
|
private boolean filterQueryDcl = false;
|
||||||
private boolean filterQueryDml = false;
|
private boolean filterQueryDml = false;
|
||||||
@@ -761,6 +759,8 @@ public class LogEventConvert extends AbstractCanalLifeCycle implements BinlogPar
|
|||||||
} else {
|
} else {
|
||||||
// byte数组,直接使用iso-8859-1保留对应编码,浪费内存
|
// byte数组,直接使用iso-8859-1保留对应编码,浪费内存
|
||||||
columnBuilder.setValue(new String((byte[]) value, ISO_8859_1));
|
columnBuilder.setValue(new String((byte[]) value, ISO_8859_1));
|
||||||
|
// columnBuilder.setValueBytes(ByteString.copyFrom((byte[])
|
||||||
|
// value));
|
||||||
javaType = Types.BLOB;
|
javaType = Types.BLOB;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user