Hey! Iâm trying to make it so that
my clients could use different languages when entering stuff into my froms. ÂWhat I am doing right now is:
String text = request.getParameter("text"); ÂÂ text = new String(text.getBytes("8859_1"),"UTF8"); This seems to work perfectly for throwing
parameters from page to page. ÂAlso, it
seems to work fine to ENTER stuff into MySQL (I look at mysql through GUI
client, and I can see all my Unicode stuff correctly). However, what is troubling me, is that when I retrieve that Unicode stuff from DB and
try to display it, I get a whole bunch of junk on my page. ÂHereâs how I retrieve it: /** ÂÂÂÂÂÂÂÂÂÂÂ Â* Returns a list
containing GuestBookEntry's ordered by date. ÂÂÂÂÂÂÂÂÂÂÂ Â* @param page from
which page (page 1: entries 1 thru 5) ÂÂÂÂÂÂÂÂÂÂÂ Â* @return a list
containing GuestBookEntry's ordered by date, empty list if none. ÂÂÂÂÂÂÂÂÂÂÂ Â*/ ÂÂÂÂÂÂÂÂÂÂÂ public static List getEntries(
int page ) throws SQLException ÂÂÂÂÂÂÂÂÂÂÂ { ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ Connection con = null; ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ PreparedStatement st = null; ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ ResultSet rs = null; ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ List entries = new LinkedList(); ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ if ( page < 1 )
throw new IllegalArgumentException("Page must be 1 or above!"); ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ int startIndex =
(page-1)*offset; ÂÂÂÂÂÂÂÂÂÂÂ ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ try ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ { ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ con =
Manager.getInstance().getConnection(); ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ st =
con.prepareStatement("SELECT name,email,date,IP,message FROM GuestBook
ORDER BY date DESC LIMIT ?,?"); ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ st.setInt(1,startIndex); ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ st.setInt(2,offset); ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ rs =
st.executeQuery(); ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ while ( rs.next() ) ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ { ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ String name = rs.getString(1); ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ String email = rs.getString(2); ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ String IP = rs.getString(4); ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ String message = rs.getString(5); ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ Timestamp date = rs.getTimestamp(3); ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ GuestBookEntry
e = new GuestBookEntry(name,email,IP,message,date); ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ entries.add(e); ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ } ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ } ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ finally ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ { ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ try{ if ( con != null ) con.close(); } catch(SQLException e){ Logger.getLogger("problem").error("Can't
close Connection!",e); } ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ } ÂÂÂÂÂÂÂÂÂÂÂ ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ return entries;ÂÂÂ ÂÂÂÂÂÂÂÂÂÂÂ } And in my JSP page I simply display name and message
from the list returned by this functionâ Does anyone know how to make my JSP page display my
stuff correctly? I also tried doing: <%= new String(message.getBytes("8859_1"),"UTF8") %> But that
just gives me a whole bunch of boxes instead of text. Any help is
greatly appreciated. ---
|
- Re: Retrieveing Unicode stuff from MySQL 4.1.x ? Ivan Jouikov
- Re: Retrieveing Unicode stuff from MySQL 4.1.x ? Koon Yue Lam
- RE: Retrieveing Unicode stuff from MySQL 4.1... Ivan Jouikov
- Re: Retrieveing Unicode stuff from MySQL 4.1.x ? Koon Yue Lam
- RE: Retrieveing Unicode stuff from MySQL 4.1... Ivan Jouikov
- Re: Retrieveing Unicode stuff from MySQL 4.1.x ? André Weidemann
- RE: Retrieveing Unicode stuff from MySQL 4.1... Ivan Jouikov
- Re: Retrieveing Unicode stuff from MySQL 4.1.x ? Mark Matthews
- Re: Retrieveing Unicode stuff from MySQL 4.1... Koon Yue Lam