Java

[Megoldva] mysql_query("SET CHARACTER SET 'utf8'"); Java Servletben

Fórumok

Van egy adatbázis benne egy adattábla:

CREATE DATABASE siteDB DEFAULT CHARACTER SET utf8;

USE siteDB;

CREATE TABLE blog(
id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
created DATETIME DEFAULT '0000-00-00 00:00:00',
modified DATETIME DEFAULT '0000-00-00 00:00:00',
title VARCHAR(255) NOT NULL,
text TEXT NOT NULL
)DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Készülget hozzá egy java EE-s alkalmazás. Minden fájl utf-8-ba mentve, mint látható a fentiből
az adatbázis is és az adattábla is utf-8-ban van. (igen a két szöveges mező is).

A problémám az, hogy a Mysql-be nem utf-8-ként mentődik, hanem az ékezetes betűk helyett mindenféle krix-krax van. Fontos tehát, hogy nem az adatbázisból való kiolvasással van a gond, hanem a beírással.

Mivel korábban foglalkoztam php-vel, így kipróbáltam, íme egy példa:
<?php
$link = mysql_connect('localhost','user','pass');
if (!$link) {
die('Could not connect to MySQL: ' . mysql_error());
}
echo 'Connection OK
';
$db = mysql_select_db("siteDB");
if ($db != true){
echo "Adatbázis kiválasztás sikertelen";
die();
}
echo "ok
";

$str="INSERT INTO blog (created, modified, title, text) VALUES(now(), now(),'éáő', 'éáőpé')";
//mysql_query("SET NAME 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'"); // <- ha ez benne van, akkor oké

mysql_query($str);

mysql_close($link);
?>
A fenti példában a comment szerint ha beírom, a "mysql_query("SET CHARACTER SET 'utf8'");" sort, akkor jól mentődnek el az ékezetes karakterek, ha nem akkor a már ismertetett krix-kraxos történet jön elő.

Tehát valami mysql_query("SET CHARACTER SET 'utf8'");-hez hasonlót szeretnék javaban.

Ami megvan:
response.setContentType("text/html; charset=utf-8");
//request.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();

A html oldalak így generálódnak:

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Amiket kipróbáltam, de nem segítettek:
1) google szerint, amikor csatlakozom a adatbázishoz, akkor paraméterként átadható az "encoding", tehát itt:
con = DriverManager.getConnection("jdbc:mysql://localhost/siteDB?IDE_JON_AZ_ENCODING",
"user", "pass");
Már nem emlékszem mi volt az IDE_JON_AZ_ENCODING, de kipróbáltam és nem működött. :)

2)Mint php-nél próbáltam egy query-t csinálni:

String sql = "INSERT INTO blog ....";
Connection con = null;
PreparedStatement ps = null;
Statement stmt = null;
try {
con = DriverManager.getConnection("jdbc:mysql://localhost/siteDB",
"user", "pass");

Statement st = con.createStatement();
st.executeQuery("SET NAMES 'utf8'");
st.executeQuery("SET CHARACTER SET 'utf8'");
st.executeUpdate(sql);

st.executeQuery("SET CHARACTER SET 'utf8'"); helyett próbáltam sima execute-ot -> semmi.
Továbbra is rosszul menti a karaktereket az adatbázisba.

3) my.cnf módosítása. Ez megtörtént, de sokra nem megyek vele, egyrészt mert nem javult meg ettől semmi, másrészt meg ahova majd feltölteném ott se tudom módosítani a my.cnf-et...

A kérdés tehát adott, valamiért az adattáblába rosszul mentődnek el a sorok,
A segítséget, ötletet előre is köszi!

[Megoldva] Java - Unicode

Fórumok

Sziasztok.

Hátha valaki tudja a megoldást..

A problémám, hogy java-ban (swing) Linux alatt, nem minden Unicode karakter jelenik meg.

Amit eddig kinyomoztam:
- a Java unicode támogatása smafu, mert se a sun-os se a diszto-s csomagok nincsennek bekonfigurálva,
hogy unicode-s font készletet (unifont) használjon (linux alatt)
- a SUN oldalán eljutottam a "fontconfig.properties" fájl leírásáig, de nem sikerült vele rávenne a jre-t
hogy használja is a beállított fontot

A legfőbb probléma, hogy "kívülről" kell beállítanom az alkalmazás által használt fontot.

Megoldas:
A fontconfig.properties fajl szerkesztese a megoldas.. csak ne legy akkora okor mint en, hogy
a font path-ba egy betuvel tobbet irsz bele.:)

EPS lib

Fórumok

Sziasztok!

Szuksegem lenn egy szabad felhasznalasu EPS libraryra Java programozasi nyelven. Tud valamelyikotok ilyenrol?

Koszonom!

NetBeans after 10 years

Fórumok

Eddig sohasem hasznaltam java rapid desktop application development cuccokat.
Ugy gondoltam, hogy 10 ev elegendo ahhoz hogy megformalodjon egy solid gui fejleszto eszkoz.
Itt az ido, gondoltam, kiprobalom.
Az elso amit be szerettem volna allitani az alkalmazas icon-ja.
Visual Studio-ban nehany click.
40 perc mulva feladtam a keresest. A NetBeans Gui-ban nem talaltam.
Viszont ez sem megy:

ImageIcon appIcon = resourceMap.getImageIcon( "appicon" );
if ( appIcon != null )
frame.setIconImage( appIcon.getImage() );

Gondolom valahol a melyben a tiszta MVC tudatu pattern impelmentorok megvedenek az ilyen foldhozragadt ideaktol, mint az alkalmazas icon-janak beallitasa.
Vagy a kavesbodon icon stigmaja kotelezoen ott kell figyeljen.

Biztos az en agyamban van a hiba...
Igy maradok a vim.org + javac 'raeros tortenetmeselos' application development kornyezetnel.

Java tanulás

Fórumok

Sziasztok!

Mivel egyre több java-s álláshirdetéssel találkozok itt is és mindenhol máshol, gondoltam, elkezdem megtanulni ezt a nyelvet is. Amit már (számomra) kielégtően megtanultam, az a Delphi (majd Kylix), Borland C++ Builder, később Linuxon C, PHP, CSS, és némi JavaScript jQueryvel. Ezek szinte mindegyikével részt vettem már kereskedelmi szoftverek fejlesztésében, egy Google-val a háttérben mindent megoldok velük, amit lehet.

Nem egyből a hup-on kérdezek, amit eddig megtettem magamtól is, az az, hogy Eclipse-ben megcsináltam az összes tutorialt. Vajon jó irányban kezdtem egyáltalán? És ha igen, merre tovább? A piacképesség mellett az is nagyon fontos számomra, hogy a dolgokat jól és valamilyen open source kompatibilis módon csináljam.

Java Multimeda Framework, nativ libek nelkul

Fórumok

Hali,

Abba a problémába ütköztem, hogy kellene írnom egy appletet, ami JMF-et (http://java.sun.com/products/java-media/jmf/index.jsp , http://en.wikipedia.org/wiki/Java_Media_Framework használ. Az viszont nem része a JDK-nak (ezt alapból nem értem), és nativ libeket is tartalmaz.

Ez persze nem jó: az ügyfeleket nem kérhetjük meg a JMF külön letöltésére, a nativ libek pedig macerásak. Nativ libek nelkul egyszeruen hozzacsaphatnam a jar-t.

Kérdés:
Ha én csak egy ulaw streamet akarok mindkét irányba, real-time vinni (mikrofon in, hangszóró out), ahhoz is kellenek a nativ libek?

Sehol nem találok választ arra, hogy a nativ lib feltétlenül szükséges-e. Van hivatalos JMF levlista, http://archives.java.sun.com/archives/jmf-interest.html , de már órák óta nem kapom meg a regisztrációs e-mailt.

EJB3 JSP oldalról

Fórumok

Sziasztok!

kérlek segítsetek, számtalan leírást követve próbáltam a beanemet elérni jsp oldaról, eddig sikertelenül.
package test;

import javax.ejb.PostActivate;
import javax.ejb.Stateful;
@Stateful(name="TestB")
public class TestBean implements TestLocal {
private int szam;

@PostActivate
void init() {
this.szam = 0;
}

public void setSzam(int szam) {
this.szam = szam;
}

public int getSzam() {
return this.szam;
}
}
-------
<%@ page import="test.TestLocal, javax.naming.*, java.text.*"%>
<%!
private TestLocal tb = null;
public void jspInit () {
try {
InitialContext ctx = new InitialContext();
tb = (TestLocal) ctx.lookup("TestB"); //"test/TestLocal/local" ezzel is próbálkoztam, az ear file neve test
} catch (Exception e) {
e.printStackTrace ();
}
}
%>

Kérlek benneteket segítsetek megoldani ezt a problémát. Előre is köszönöm.

Netbeans megőrült, de lassan én is...

Fórumok

Sziasztok!

Szeretném kikérni a véleményeteket. Megőrült a rendszer, és nem tudom mit kezdjek vele. Létrehoztam egy Enterprice Applicationt a Netbeansemben. Eléggé tesztjellegű rendszernek indult 1000 módosítás EJB-kbe meg úgy általában mindenbe, minden elképzelés helyett kipróbáltam kb valami mást. Namost eljutottam odáig, hogy deployonként más eredményt produkál a rendszer annak ellenére, hogy nem nyúlok a forráshoz. Kezdődött azzal, hogy Servletek nem látták a @EJB-vel megadott osztályokat, aztán hibába gyanakodva lecsupaszítottam az ejb-ket public String test() {return "ok";}-ra néha ment néha nem, de ha el is indult utánna egy space változtatással megint nem ment. Próbaképp egy részt átemeltem egy másik projectbe tökéletesen ment. Aztán ebben a másik projectben csináltam egy ejb-t meg egy Servletet minden ok, így áttettem az eredeti rendszerbe, először ment is ,de megint egy spacenyi változás és nem megy. Mostanra eljutott odáig, hogy rányomok a deployra (kódváltoztatás nélkül hozzáteszem) és 4 féle random eredmény lesz:
1. Fordítási hibávalleáll
2. Dob egy nullPointExceptiont mikor az ejb test függvényét akarom meghívni
3. Egyszerűen leáll a futás mikor az ejb test függvényét akarom meghívni, még a catch ágba se fut bele
4. Lefut és kiírja, hog ok

Ti tapasztaltatok bármi hasonlót? Volna egy dolog amit meg szeretnék csinálni,k de nem merek belefogni, mert félek ott is akármikor hasonló eredmént produkál.

Köszönöm ha bárkinek is sikerül valamit segíteni vagy hozzátenni ehhez a problémához.

[Megoldva] JavaEE entitás karakterkódolás probléma

Fórumok

Sziasztok!

Ismét szeretném szakértelmeteket kérni. Abba a problémába ütköztem, hogy az entitás mentésekor a őű betűk ?-é alakulnak az adatbázisban. Az adatbázis, a tábla, a tábla oszlopa egyaránt utf8_general_ci illesztésű. Amikor ezt a példányt:

Teszt t = new Teszt();
t.setTitle("öüóőúéáű");

persistensé teszem és elmentem az adatbázisba öüó?úéá? ez lesz belőle. Mit nézek be de nagyon? Kell valahol ezt külön konfigurálnom?

Köszi előre is a segítséget.

(Az entitást a Netbeans-al generáltattam, TopLinket használok, MySQL alapon)