I don't think your Java code does what you think it does. You should read some more about how Java handles string encodings. Here is a method I wrote some years ago that might also help you. It converts streams, not strings, but what you need should be pretty close (and simpler):
/** * Interprets in according to encIn, and converts it to encOut, * writing to out. Allocates buffer for the buffer size. * * @param encIn The input encoding. * @param encOut The output encoding. * @param in The data to convert. * @param out Where to send the converted data. * @param buffer The size of the buffer or 0 for the default. * * @throws IOException */ public void run(String encIn, String encOut, InputStream in, OutputStream out, int buffer) throws IOException { Reader r = null; Writer w = null; int len; char[] b; try { if (buffer > 0) { r = new BufferedReader(new InputStreamReader(in, encIn), buffer); w = new BufferedWriter(new OutputStreamWriter(out, encOut), buffer); } else { r = new BufferedReader(new InputStreamReader(in, encIn)); w = new BufferedWriter(new OutputStreamWriter(out, encOut)); buffer = DEFAULT_BUFFER_SIZE; } b = new char[buffer]; while ((len = r.read(b, 0, buffer)) != -1) { w.write(b, 0, len); } } finally { try { if (r != null) r.close(); } finally { if (w != null) w.close(); } } } Btw, none of this has anything to do with Postgres. :-) Paul On Wed, Dec 12, 2012 at 10:19 AM, Emi Lu <em...@encs.concordia.ca> wrote: > > Is there a simple way to load UTF8 data in psql to mysql(with latin1 >> encoding) through JDBC? >> >> JAVA codes work for most of characters, but not "-È". Someone knows why > the following codes cannot load "-È" to mysql@latin1? > > Thanks a lot! > > -- > public static String utf8_to_latin1(String str) > throws Exception > { > try > { > String stringToConvert = str; > byte[] convertStringToByte = stringToConvert.getBytes("UTF-**8"); > return new String(convertStringToByte, "ISO-8859-1"); > }catch(Exception e) > { > log.error("utf8_to_latin1 Error: " + e.getMessage()); > log.error(e); > throw e; > > } > } > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/**mailpref/pgsql-general<http://www.postgresql.org/mailpref/pgsql-general> > -- _________________________________ Pulchritudo splendor veritatis.