ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 02 Jun 2011, 15:52 
Offline
Nuby

Registriert: 02 Jun 2011, 14:52
Beiträge: 6
Hi *,

Ich habe ein Problem mit einem Parser Script dass sich auf zwei Linux Maschinen unterschiedlich verhält. Ich verwende auf beiden Maschinen exakt die gleiche ruby/nokogiri Version:

% ruby --version
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-linux]
nokogiri (1.4.4)

Wenn ich nun ein UTF8 HTML mit Xpath so parse:

html.xpath('//div[@id="citySelectBox"]/ul/li/a').each do |litem|
city = City.new
city.name = litem.content
city.link = litem.attr('href')
cityList.insert(-1,city)
end

bekomme ich z.B. für den UTF8-String "Würzburg" folgende unterschiede:

machine 1: "Würzburg" size:11 (wrong!)
machine 2: "Würzburg" size:9

Was kann ich tun? Ich habe versucht das UTF-8 handling noch eplxizit zu aktivieren:

file = open('testdata/index.html', 'r:UTF-8')
html = Nokogiri::HTML(file,'UTF-8')
html.meta_encoding='UTF-8'

Aber das Resultat ist gleich. Eine Installation verhält sich anders mit genau der gleichen HTML-Datei. Ich bin mir nicht sicher, ob es nicht auch eine System-Einstellung sein kann. Was könnte es sein?

grüße,
\thomas


Nach oben
 Profil  
 
BeitragVerfasst: 02 Jun 2011, 16:07 
Offline
Interpreter
Benutzeravatar

Registriert: 03 Jul 2006, 14:53
Beiträge: 4872
Wohnort: RLP
Erster Anlaufpunkt: Schau mal, ob bei beiden Maschinen die locale gleich ist:



1
2
3
4
5
6
7
8
9
$ locale
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=


Gruß,
Skade


Nach oben
 Profil  
 
BeitragVerfasst: 02 Jun 2011, 16:27 
Offline
Nuby

Registriert: 02 Jun 2011, 14:52
Beiträge: 6
jupp:

Maschine 1 ("gute"):


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=


Maschine 2 ("schlechte"):


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 $ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=


ich bin mir nicht sicher, wie man die ersten zeilen zu deuten hat..

grüße,
\thomas


Nach oben
 Profil  
 
BeitragVerfasst: 02 Jun 2011, 18:54 
Offline
Nuby

Registriert: 02 Jun 2011, 14:52
Beiträge: 6
habs rausbekommen..

% nokogiri -v

hat bei mir eine unterschiedliche libxml2 angezeigt. auf einem hatte ich libxml2-2.7.7 auf dem anderen libxml2-2.6.32

die 2.6.x scheint sehr buggy zu sein. jedenfalls habe ich mit einer frischen source-distrie von libxml2 und libxslt das problem lösen können... ich habe nun auf beiden rechnern die gleiche lbxml2 und libxslt. et viola..

grüße,
\thomas


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
cron