LINUX.ORG.RU

USER/ROOT + J2EE + MySQL + UTF8


0

0

Возникла проблема отображения шрифтов, если запускаю NetBeans от ROOT и далее в нетбинс запускаю J2EE приложение, всё корректно отображается. При запуске приложения от USER вместо русского "???????????????"

З.Ы. всё сделал как по ссылке http://www.linux.org.ru/view-message.jsp?msgid=4004456#comment-4012196 приложение выбирает данные из MySQL

Ответ на: комментарий от ef37

locale
LANG=en_US.UTF-8
LC_CTYPE=«en_US.UTF-8»
LC_NUMERIC=«en_US.UTF-8»
LC_TIME=«en_US.UTF-8»
LC_COLLATE=«en_US.UTF-8»
LC_MONETARY=«en_US.UTF-8»
LC_MESSAGES=«en_US.UTF-8»
LC_PAPER=«en_US.UTF-8»
LC_NAME=«en_US.UTF-8»
LC_ADDRESS=«en_US.UTF-8»
LC_TELEPHONE=«en_US.UTF-8»
LC_MEASUREMENT=«en_US.UTF-8»
LC_IDENTIFICATION=«en_US.UTF-8»
LC_ALL=

Не ясно почему от ROOT всё корректно отображается, а от простого юзера ??????

initmax
() автор топика
Ответ на: комментарий от hired777

нашёл в чём баг

вот кусок кода

import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import MySQL.*;

public class indexServlet extends HttpServlet {

private String getpage;
//Connected MySQL
private MySQLConnect mySQLConnectObj = new MySQLConnect();
private MySQLQuery mySQLQueryObj = new MySQLQuery();

public void init(){
mySQLConnectObj.downloadDriver();
mySQLConnectObj.connected();

mySQLQueryObj.setConnection(mySQLConnectObj.getConnection());//Use current connection, for execution query
}

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, NullPointerException {
init();

// PrintWriter out = response.getWriter();
// getpage = request.getParameter(«page»); //GET case useer


//Check curent connect to database
if(mySQLConnectObj.getConnection() != null ) {

List<GenPageMySQL> listPageObj = new ArrayList(); //Create link from LIST objects
mySQLQueryObj.selectAllField(«up_menu»,listPageObj);//Build an array LIST objects
mySQLConnectObj.disConnected(); //Disconnected MySQL

request.setAttribute(«upMenu»,listPageObj);
RequestDispatcher Dispatcher = getServletContext().getRequestDispatcher(«/WEB-INF/jsp/index.jsp»);
Dispatcher.forward(request, response);
}


else if(mySQLConnectObj.getConnection() == null){
init() ;
}

}
}

если коменчу то что отлавливаю от пользователя в GET
// PrintWriter out = response.getWriter();
// getpage = request.getParameter(«page»); //GET case useer
Всё отображается корректно, иначе вместо русского "??????????????"

З.Ы.
Глючит значит существует?

initmax
() автор топика

Не знаю что там у вам с вашей энтерпрайзной быдложабой. Но запрос к мускулю на установления кодировки соединения должен выглядеть так: SET NAMES 'utf8'. Иначе он использует умолчальную, а она есть latin-swedish

p.s. как вы этот запрос отдадите: средствами фреймворка или вручную - пофиг </thread>

saluki
()
Ответ на: комментарий от saluki

Вот как вешаюсь:


url = «jdbc:mysql://127.0.0.1/initmax»+"?autoReconnect=true&useUnicode=true&characterEncoding=utf8"+
«&SET NAMES utf8»;

initmax
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.