主题:求助eclipse与mysql交换数据间会乱码的问题!
请教各位高手:
在eclipse中显示中文,在mysql的数据也显示中文无问题。
但是从eclipse发送数据到mysql后显示的就都是问号了,无法显示,请教各位有解决方法吗?谢谢!
程序如下:
import java.sql.*;
public class Myclass {
public static void main(String args[]){
try {
//Cargar clase de controlador de base de datos
Class.forName("com.mysql.jdbc.Driver");
//Establecer conexion a la base de datos
Connection conexion = DriverManager.getConnection("jdbc:mysql://127.0.0.1?user=root&password=;characterEncoding=utf8");
System.out.println("Conecta");
//Crear objeto Statement para realizar queries a la base de datos
Statement instruccion = conexion.createStatement();
//Consultar a la base de datos
instruccion.execute("USE vegazana");
String s1 = new String("");
String s2 = new String(s1.getBytes(), "UTF-8");
s2 = "SELECT 中文 FROM colores";
System.out.println(s2);
String consulta = new String(s2);
//String consulta = new String("SELECT 蓝色 FROM colores");
//ResultSet conjuntoResultados = instruccion.executeQuery("SELECT 蓝色 FROM colores");
ResultSet conjuntoResultados = instruccion.executeQuery(consulta);
//Procesar los resultados de la consulta
StringBuffer resultados = new StringBuffer();
ResultSetMetaData metaDatos = conjuntoResultados.getMetaData();
int numeroDeColumnas = metaDatos.getColumnCount();
for(int i = 1; i <= numeroDeColumnas; i++)
resultados.append(metaDatos.getColumnName(i)+"\t");
resultados.append("\n");
while(conjuntoResultados.next()) {
for(int i = 1; i <= numeroDeColumnas; i++)
resultados.append(conjuntoResultados.getObject(i) + "\t");
resultados.append("\n");
}
System.out.println(resultados.toString());
}
catch(ClassNotFoundException e){ System.out.println(e); }
catch(SQLException e){ System.out.println(e); }
catch(Exception e){ System.out.println(e.getMessage()); }
}
}
提示的错误如下:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException
在eclipse中显示中文,在mysql的数据也显示中文无问题。
但是从eclipse发送数据到mysql后显示的就都是问号了,无法显示,请教各位有解决方法吗?谢谢!
程序如下:
import java.sql.*;
public class Myclass {
public static void main(String args[]){
try {
//Cargar clase de controlador de base de datos
Class.forName("com.mysql.jdbc.Driver");
//Establecer conexion a la base de datos
Connection conexion = DriverManager.getConnection("jdbc:mysql://127.0.0.1?user=root&password=;characterEncoding=utf8");
System.out.println("Conecta");
//Crear objeto Statement para realizar queries a la base de datos
Statement instruccion = conexion.createStatement();
//Consultar a la base de datos
instruccion.execute("USE vegazana");
String s1 = new String("");
String s2 = new String(s1.getBytes(), "UTF-8");
s2 = "SELECT 中文 FROM colores";
System.out.println(s2);
String consulta = new String(s2);
//String consulta = new String("SELECT 蓝色 FROM colores");
//ResultSet conjuntoResultados = instruccion.executeQuery("SELECT 蓝色 FROM colores");
ResultSet conjuntoResultados = instruccion.executeQuery(consulta);
//Procesar los resultados de la consulta
StringBuffer resultados = new StringBuffer();
ResultSetMetaData metaDatos = conjuntoResultados.getMetaData();
int numeroDeColumnas = metaDatos.getColumnCount();
for(int i = 1; i <= numeroDeColumnas; i++)
resultados.append(metaDatos.getColumnName(i)+"\t");
resultados.append("\n");
while(conjuntoResultados.next()) {
for(int i = 1; i <= numeroDeColumnas; i++)
resultados.append(conjuntoResultados.getObject(i) + "\t");
resultados.append("\n");
}
System.out.println(resultados.toString());
}
catch(ClassNotFoundException e){ System.out.println(e); }
catch(SQLException e){ System.out.println(e); }
catch(Exception e){ System.out.println(e.getMessage()); }
}
}
提示的错误如下:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException