seltsamer Fehler beim connect DBI::mysql
Struppi
- perl
0 Bert Randolf0 Axel Richter0 Axel Richter0 Struppi0 Axel Richter0 Struppi
Ich hoffe mal, das das nichts mit meinem anderen Problem zu tun hat. Seit gestern bekomme ich auf der Konsole folgende Warnung:
File 'C:\mysql\share\charsets?.conf' not found (Errcode: 2)
Character set '#5' is not a compiled character set and is not specified in the '
C:\mysql\share\charsets\Index' file
ausreichend dafür ist schon folgender Code:
#!/usr/bin/perl -w
use DBI;
use strict;
my $SQL_USER = "*******";
my $SQL_PWD = "******";
my $SQL_HOST = "*******";
my $DBH = DBI->connect("DBI:mysql:$SQL_HOST", $SQL_USER, $SQL_PWD, { RaiseError => 1 }
) or die $DBI::errstr;
Kann jemand was damit anfangen.
Ach: WinXP,
This is perl, v5.6.0 built for MSWin32-x86-multi-thread
vermutlich DBI 1.34
Struppi.
Hi,
http://www.google.com/search?q=Character+set+'%235'+is+not+a+compiled+character+set+and+is+not+specified+in+the&sourceid=mozilla-search&start=0&start=0&ie=utf-8&oe=utf-8
und vor allen dingen
http://dev.mysql.com/doc/mysql/en/Problems_with_character_sets.html
Bert
und vor allen dingen
http://dev.mysql.com/doc/mysql/en/Problems_with_character_sets.html
Das klingt alles sehr interessant, aber ich kapier nicht woher jetzt der Fehler kommt.
Die mysql DB ist nicht bei mir sondern beim hoster oder liegt es an der DBI Installation?
Mir ist nicht klar, wo ich jetzt ansetzten muss.
Struppi.
Herrlich, ich hab 2 verschiedene server bei einem Anbieter. Bei einem kommt die Fehlermeldung, beim anderen nicht.
Beide haben, zumindest über phpMyAdmin, die gleichen Einstellungen.
Muss ich jetzt meine ganzen Tabellen zurücksetzten?
Irgendwelche Tipps wo ich suchen kann?
Struppi.
Hallo,
Seit gestern bekomme ich auf der Konsole folgende Warnung:
File 'C:\mysql\share\charsets?.conf' not found (Errcode: 2)
^??Das sieht komisch aus
Character set '#5' is not a compiled character set and is not specified in the '
C:\mysql\share\charsets\Index' file
^Das auch
Entweder muss der Backslash excaped werden oder nicht. Mal so, mal so ist komisch. Üblicherweise wird, trotz Windows, ein Pfad mit / als Trennzeihen angegeben.
Entweder ist character-sets-dir= in my.ini falsch gesetzt, oder Perl hat einen ähnlichen Bug wie PHP hier: http://bugs.php.net/bug.php?id=22083&edit=3.
viele Grüße
Axel
Hallo,
Entweder ist character-sets-dir= in my.ini falsch gesetzt, oder Perl hat einen ähnlichen Bug wie PHP hier: http://bugs.php.net/bug.php?id=22083&edit=3.
Oder es existiert gar kein Charsets-Index für MySQL, wie hier http://dev.mysql.com/doc/mysql/de/Problems_with_character_sets.html angemerkt.
---------------------------------------------------------------------
Posted by Götz Lohmann on March 2 2004 7:58am [Delete] [Edit]
If you got an error like:
File '/usr/share/mysql/charsets/?.conf' not found (Errcode: 2)
Character set '#5' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index' file
check if '/usr/share/mysql/charsets/Index' exists, cause the RPM package of "mysql 4.1" seem not to create one.
the file looks like:
---- begin of file Index ----
big5 1
czech 2
dec8 3
dos 4
german1 5
...
latin1_de 31
---- end of file Index ----
take a look at http://www.mysql.com/doc/en/Charset-map.html for the full table.
You also might look in a search engine like google to find a tarball to copy the file out in your directory. Also you might need the 'latin1.conf', 'latin2.conf', 'usa7.conf', .. in your charset directory. There is a lot xml files in the charset directory, but they don't seem to be used yet?
Hope this might help someone.
---------------------------------------------------------------------
viele Grüße
Axel
Seit gestern bekomme ich auf der Konsole folgende Warnung:
File 'C:\mysql\share\charsets?.conf' not found (Errcode: 2)
^??Das sieht komisch aus
Character set '#5' is not a compiled character set and is not specified in the '
C:\mysql\share\charsets\Index' file
^Das auchEntweder muss der Backslash excaped werden oder nicht. Mal so, mal so ist komisch. Üblicherweise wird, trotz Windows, ein Pfad mit / als Trennzeihen angegeben.
wie gesagt, ich habe gar kein mysql installiert. Ich greife auf einen server meines Hosters zu, aber beim gliechen Hoster auf einem anderen Server kommt der Fehler nicht.
Entweder ist character-sets-dir= in my.ini falsch gesetzt, oder Perl hat einen ähnlichen Bug wie PHP hier: http://bugs.php.net/bug.php?id=22083&edit=3.
Irgendwie begreife ich das nicht. Da ist ja auch immer von der mysql Konfiguration die rede, aber die gibt es nicht. Ich hab Perl und verbinde mit einem externen sql Server, der Fehler tritt bei dem einem auf, bei einem anderen nicht.
Struppi.
Hallo,
Irgendwie begreife ich das nicht. Da ist ja auch immer von der mysql Konfiguration die rede, aber die gibt es nicht.
Nein, der Bug lag im PHP, nicht im MySQL. PHP für Win32 hatte den Pfad zum MySQL-Verzeichnis hardcodiert, noch dazu falsch, als C:\mysql\ in einer DLL. Dadurch ergab sich der Pfad zu den Charsets, auch bei Standardinstallationen zu C:\mysql\share\charsets. Natürlich funktionierte eine Verschiebung des Charsets-Verzeichnisses gar nicht, weil character-sets-dir= in my.ini gar nicht ausgewertet wurde.
Ich hab Perl und verbinde mit einem externen sql Server, der Fehler tritt bei dem einem auf, bei einem anderen nicht.
Das selbe Perl greift auf zwei MySQL-Server zu? Dann _muss_ es an der einen, nicht funktionierenden MySQL-Installation liegen, oder? Du solltest den dafür Verantwortlichen informieren.
viele Grüße
Axel
Ich hab Perl und verbinde mit einem externen sql Server, der Fehler tritt bei dem einem auf, bei einem anderen nicht.
Das selbe Perl greift auf zwei MySQL-Server zu? Dann _muss_ es an der einen, nicht funktionierenden MySQL-Installation liegen, oder? Du solltest den dafür Verantwortlichen informieren.
Ich dachte vielleicht liegt's an der DB Tabelle, aber bei beiden steht der gleiche charset.
Tja, wochenende. aber ich werd die wohl mal infomrieren, laufen tut das ganze wenigstens.
Struppi.