Donnerstag Nov. 24, 2005

POSTGRESQL: psql:test.sql:1: ERROR: Unicode characters greater than or equal to 0x10000 are not supported

Wenn einem diese Meldung z.B. während eines Import's unter Postgres mit psql um die Ohren fliegt, dann verwendet Postgres wahrscheinlich UTF8 als Clientencoding und die Datei liegt als ISO8859P1 vor. In diesem Fall setzt man einfach eine Variable:

PGCLIENTENCODING=latin1
export PGCLIENTENCODING

Das sollte helfen.

Mittwoch Nov. 23, 2005

JAVA: equals()

Wer schon mal das Buch Effective Java von Joshua Bloch gelesen hat, der weiß, das da drin beschrieben wird, wie man die equals Methode richtig implementiert. Einfacher geht es mit dem EqualsBuilder vom Apache Jakarta Commons Projekt.

ORACLE: Index unusable

Das Problem: Man möchte eine Abfrage auf eine Tabelle machen, die einen Index besitzt, der - aus welchen Gründen auch immer - von Oracle als "nicht verwendbar" (unusable) markiert wurde. Löschen (droppen) möchte man den Index aber nicht, da man ihn anschließend rebuilden möchte. ALTER INDEX indexname DISABLE funktioniert nur mit funktionsbasierenden Indizies. Aber man kann für die jeweilige Session einen Parameter setzen:

ALTER SESSION SET SKIP_UNUSABLE_INDEXES = true;

Anschließend funkt dann auch wieder ein SELECT auf diese Tabelle. Und dann kann man auch den Rebuild durchziehen.

Dienstag Nov. 22, 2005

APACHE: SSL Probleme mit Internet Explorer

Wenn man das Problem hat, das der Microsoft Internet Explorer des Öfteren beim Abrufen einer Seite über SSL (HTTPS) einen Fehler bringt wie Seite nicht gefunden (Page Not Found) oder komische DNS Fehler, dann liegt das sehr wahrscheinlich daran, das der IE nicht mitbekommt, das der Apache die (keep alive) Verbindung geschlossen hat. Entweder schaltet man KeepAlive off in der httpd.conf oder - und das ist natürlich viel besser - man schaltet für den IE und SSL-Verbindungen den Keepalive aus. In einem virtuellen Host-Eintrag könnte man folgenden Eintrag hinzufügen:

SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

Das sollte helfen.

Dienstag Nov. 08, 2005

JBOSS: Sun JDK 5.0 und JBoss 3.2.7

Wenn einem folgende Fehlermeldung

org.apache.jasper.JasperException: Unable to compile class for JSP

Generated servlet error:
Jan 14, 2005 9:31:46 PM org.apache.jasper.compiler.Compiler generateClass
SEVERE: Javac exception
Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
...

begegnet, wenn man JBoss 3.2.7 unter dem Sun JDK 5.0 laufen lassen möchte, dann ist findet Tomcat die Datei "tools.jar" nicht. Sie ist einfach nicht im CLASSPATH. Einfach mit aufnehmen und dann sollte es schon funken.

Freitag Nov. 04, 2005

UNIX: Wie löscht man eine Datei, die mit einem Bindestrich/Minus beginnt?

In diesem Fall stellt man einfach -- davor. Wenn die Datei z.B. -testdatei heißt:

rm -- -testdatei

Das bedeutet für rm, das alles was hinter -- kommt, zum Dateinamen gehört.


Mittwoch Nov. 02, 2005

UNIX: Anhänge per Shell versenden

Wie versende ich Anhänge (Attachments) mit dem mail Kommando auf der *NIX-Shell?

uuencode datei.jpeg datei.jpeg | mail name-AT-wohinauchimmer-DOT-com

Wenn auch noch ein Text dabei sein soll, nimmt man folgendes Kommando:

$ (cat mailtext; uuencode datei.jpeg datei.jpeg) | mail name-AT-wohinauchimmer-DOT-com