argon bulletin board

Експертно търсене  

Новини:

Регистрирането на нови потребители е временно деактивирано.

Автор Тема: Tomcat encoding???  (Прочетена 3086 пъти)

tedinka

  • Гост
Tomcat encoding???
« -: 15.04.2008, 14:26:34 »

Може ли малко помощ?Пиша дипломна,ползвам jsp-та и по-специално jstl.Всички jsp-та с енкодинг utf-8,базата ми е Mysql-всички таблици и колоните са utf-8. Когато въведа директно през базата  нещо на кирилица ОК няма проблеми,но когато през web въвеждам се появява маймуница.
Мисля,че проблема е в Tomcata? Правих всякакви опити за смяна на енкодинга, но нищо не става,последно в Apache Software Foundation\Tomcat 5.5\conf\server.xml  добавих
 <Connector  port="8080"               maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true"
            URIEncoding="UTF-8"
            />
И пак не става...:(
Някой има ли идея за какво става така и къде е проблема?
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page
Re: Tomcat encoding???
« Отговор #1 -: 15.04.2008, 14:41:21 »

Не е толкоз простичко!

Виж все пак тук: http://cagan327.blogspot.com/2006/05/utf-8-encoding-fix-tomcat-jsp-etc.html
и тук http://cagan327.blogspot.com/2006/05/utf-8-encoding-fix-for-mysql-tomcat.html

Все пак аз не ползвам Tomcat, но това ми се видя доста подробно и смислено и проверено обяснение на проблема!
Активен

tedinka

  • Гост
Re: Tomcat encoding???
« Отговор #2 -: 15.04.2008, 14:55:52 »

да и с филтри опитах,  но не става :(
Благодаря все пак :)
Активен

Светослав Енков

  • Неактивен Неактивен
  • Публикации: 1864
    • Shark's Home Page
Re: Tomcat encoding???
« Отговор #3 -: 15.04.2008, 15:07:22 »

Прочете ли и двете неща задълбочено? Питай някой джаваджия - като Найденчо!
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Tomcat encoding???
« Отговор #4 -: 15.04.2008, 15:08:07 »

специално пък при мен имам гледам там 1вия пост енков който е пратил имам MySQL UTF8 база и страниците са ми UTF8 както и ти се изрази и използвам баш Stripes Framework и всичко си работи :)
ето примерна страница
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="stripes" uri="http://stripes.sourceforge.net/stripes.tld"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<stripes:layout-definition>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
Съответно нямам никакви промени никъде и всичко си работи както казах всичко по страниците е на UTF8... теди ако искаш я пастени всичко или дай да го видим проекта няма проблем при мен имам tomcat и UTF8 MySQL база.

Едно време си спомням в Struts имаше подобен проблем и там слагахме в всяка форма следния метод :
public void reset(ActionMapping mapping, HttpServletRequest request)
  {
    try
    {
      request.setCharacterEncoding("UTF-8");
    }
    catch (UnsupportedEncodingException ex)
    {
      ex.printStackTrace();
    }
  }
и така работеше.

Онзи URIENcoding за томкет не ти е нужен. В моя случай ползвам JPA+Hibernate та може той да се оправя с бозите и не сейвам директно. Ако записваш директно кажи какъв ти е String-а за връзка с базата трябва да е for example:

url="jdbc:mysql://localhost:3306/{database name}?autoReconnect=true&useEncoding=true&characterEncoding=UTF-8"
пишеше го в сайтовете на енков не е тестван при мен, ама като го гледам по спомени правилно е написан.
« Последна редакция: 15.04.2008, 15:12:25 от JOKe »
Активен

tedinka

  • Гост
Re: Tomcat encoding???
« Отговор #5 -: 15.04.2008, 15:20:21 »

ето я връзката с базата,ама при мен е по гадно.нали ползвам jstl  :evil:
но ще пробвам,това,което си написал                              
<sql:setDataSource
                                 var="datasource"
                                 driver="com.mysql.jdbc.Driver"
                                 url="jdbc:mysql://localhost:3306/diplomnadb"
                                 user="root"
                                 password=""
                           />

а ето и  в самото jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<link href="main.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>админ панел</title>
</head>
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Tomcat encoding???
« Отговор #6 -: 15.04.2008, 15:23:18 »

блякс
я проай само URL-то да го напишеш :
     url="jdbc:mysql://localhost:3306/diplomnadb?autoReconnect=true&useEncoding=true&characterEncoding=UTF-8"

за опит.
Активен

tedinka

  • Гост
Re: Tomcat encoding???
« Отговор #7 -: 15.04.2008, 15:24:44 »

                              <sql:setDataSource
                                 var="datasource"
                                 driver="com.mysql.jdbc.Driver"
                                 url="jdbc:mysql://localhost:3306/diplomnadb?autoReconnect=true&useEncoding=true&characterEncoding=UTF-8"
                                 user="root"
                                 password=""
                           />


ето и отново маймуница  :evil: :evil: :evil:
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Tomcat encoding???
« Отговор #8 -: 15.04.2008, 15:26:33 »

тука пише че така се фиксва :
http://forum.java.sun.com/thread.jspa?threadID=697147&messageID=4049519
:)
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Tomcat encoding???
« Отговор #9 -: 15.04.2008, 15:27:06 »

                              <sql:setDataSource
                                 var="datasource"
                                 driver="com.mysql.jdbc.Driver"
                                 url="jdbc:mysql://localhost:3306/diplomnadb?autoReconnect=true&useEncoding=true&characterEncoding=UTF-8"
                                 user="root"
                                 password=""
                           />


ето и отново маймуница  :evil: :evil: :evil:

къде я виждаш тая маимуница ? като отвориш базата с mYSQL Query Browser кво пише в въпросните колони ?
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Tomcat encoding???
« Отговор #10 -: 15.04.2008, 15:29:06 »

бтв първо на първо тука в твоята страница виждам някакви гомна че е от тях ама като нищо
<title>админ панел</title>подозирам и на доло по страницата си писала на cp1251 а не само на title като му кажеш UTF8 моля те пиши на UTF8. Файла ти в момента е с един господ знае какъв енкодинг.
Активен

tedinka

  • Гост
Re: Tomcat encoding???
« Отговор #11 -: 15.04.2008, 15:39:27 »

охххххххххххххххххххххххх.... :evil:
и в mysql query browser е маимуница и всякаккъв вид джагатайски знаци:(
бтв. не ми се карай найдене ;)
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Tomcat encoding???
« Отговор #12 -: 15.04.2008, 15:40:17 »

охххххххххххххххххххххххх.... :evil:
и в mysql query browser е маимуница и всякаккъв вид джагатайски знаци:(
бтв. не ми се карай найдене ;)
от къде знаеш че базата ти е UTF8 ?
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Tomcat encoding???
« Отговор #13 -: 15.04.2008, 15:40:53 »

стартирай го от конзола с --default-character-set=utf8
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Tomcat encoding???
« Отговор #14 -: 16.04.2008, 09:58:41 »

да приемем че проработи ?
Активен

tedinka

  • Гост
Re: Tomcat encoding???
« Отговор #15 -: 16.04.2008, 10:30:12 »

ми не... :cry:
де да работеше...
Активен

JOKe

  • Неактивен Неактивен
  • Публикации: 2656
  • Code or Die
Re: Tomcat encoding???
« Отговор #16 -: 16.04.2008, 10:51:47 »

дай проекта + script-а за базата.
Активен

deviser

  • Неактивен Неактивен
  • Публикации: 247
    • портал за имоти
Re: Tomcat encoding???
« Отговор #17 -: 16.04.2008, 12:51:08 »

Теди провери си енкодинга на полетата в базата.
При MySQL много често въпреки че таблицата е сетната за даден енкодинг, полетата в нея са за друг.
Предполагам че в твоя случаи вътре са на 'latin 1' и от там ти идва проблема.
Активен