В эти дни меня беспокоит проблема с искаженными китайскими символами. Китайские данные вставляются в My Sql и нормально отображаются в командной строке. Когда они считываются из базы данных на страницу JSP, они становятся такими. "Марс".
Итак, я поискал в Интернете и увидел много методов: некоторые говорили, что нужно изменить default-character-set=latin1 в my.ini на default-character-set=utf8, некоторые говорили, что нужно изменить метод кодирования по умолчанию в Eclipse, а некоторые говорили, что нужно изменить <%@ page contentType="text/html;charset=gb2312" %>;, а другие говорят, что нужно изменить символ соединения: Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/MyData?user= root&password=3211535&useUnicode=true&characterEncoding=GB2312"); .
После нескольких модификаций меня также смутили несколько модификаций и несколько методов кодирования. Он все еще был искажен после многократных изменений. Просто иногда после изменения где-то определенного метода кодирования он становился другим видом искаженного кода. Я работал над этим до 11 часов вчерашнего вечера, но это все равно не сработало. Я успокоился и подумал, что мне следует начать с исходного кода, поэтому я зашел в Интернет, чтобы проверить, какой метод кодирования использует JSP для чтения данных из My. Sql Было несколько мнений, поэтому попробовал их отдельно. Наконец удалось, одно из предложений: <%=sqlRst.getString(1)%> было изменено на <%=new String(sqlRst.getString(1).getBytes("iso8859-1"),"gb2312")%> . Преобразуйте метод кодирования из iso8859-1 в gb2312 для успешного отображения китайского языка.
Эта статья взята из блога CSDN. При перепечатке указывайте источник: http://blog.csdn.net/laolik/archive/2009/12/18/5029459.aspx.
-