argon bulletin board
Факултети => Факултет по математика и информатика => Темата е започната от: tedinka в 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"
/>
И пак не става...:(
Някой има ли идея за какво става така и къде е проблема?
-
Не е толкоз простичко!
Виж все пак тук: 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, но това ми се видя доста подробно и смислено и проверено обяснение на проблема!
-
да и с филтри опитах, но не става :(
Благодаря все пак :)
-
Прочете ли и двете неща задълбочено? Питай някой джаваджия - като Найденчо!
-
специално пък при мен имам гледам там 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"
пишеше го в сайтовете на енков не е тестван при мен, ама като го гледам по спомени правилно е написан.
-
ето я връзката с базата,ама при мен е по гадно.нали ползвам 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>
-
блякс
я проай само URL-то да го напишеш :
url="jdbc:mysql://localhost:3306/diplomnadb?autoReconnect=true&useEncoding=true&characterEncoding=UTF-8"
за опит.
-
<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:
-
тука пише че така се фиксва :
http://forum.java.sun.com/thread.jspa?threadID=697147&messageID=4049519
:)
-
<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 кво пише в въпросните колони ?
-
бтв първо на първо тука в твоята страница виждам някакви гомна че е от тях ама като нищо
<title>админ панел</title>
подозирам и на доло по страницата си писала на cp1251 а не само на title като му кажеш UTF8 моля те пиши на UTF8. Файла ти в момента е с един господ знае какъв енкодинг.
-
охххххххххххххххххххххххх.... :evil:
и в mysql query browser е маимуница и всякаккъв вид джагатайски знаци:(
бтв. не ми се карай найдене ;)
-
охххххххххххххххххххххххх.... :evil:
и в mysql query browser е маимуница и всякаккъв вид джагатайски знаци:(
бтв. не ми се карай найдене ;)
от къде знаеш че базата ти е UTF8 ?
-
стартирай го от конзола с --default-character-set=utf8
-
да приемем че проработи ?
-
ми не... :cry:
де да работеше...
-
дай проекта + script-а за базата.
-
Теди провери си енкодинга на полетата в базата.
При MySQL много често въпреки че таблицата е сетната за даден енкодинг, полетата в нея са за друг.
Предполагам че в твоя случаи вътре са на 'latin 1' и от там ти идва проблема.