Re: Problem mit Umlaute und DBI
Oliver Mensinger <[email protected]>
| Newsgroups | gmane.comp.lang.ruby.german |
|---|---|
| Message-ID | <[email protected]> |
Hallo Michael,
ruby -e 'puts "\366"' liefert ein "ö"
Fuer das ...PreparedStatement.new... kommt bei mir auch
"select * from a where x='ö'"
heraus.
Hm, was ist "DBI::SQL::BasicQuote"??
TIA, Oliver.
On Fri, 31 May 2002, Michael Neumann wrote:
>On Fri, May 31, 2002 at 12:55:35PM +0200, Oliver Mensinger wrote:
>> Hallo zusammen, und ein spezielles Hallo an Michael Neumann!
>>
>> Wenn ich folgendes ausfuehre
>>
>> dbh.select_one("SELECT * FROM artikel WHERE artikelnr='ö'")
>>
>> bekomme ich die Fehlermeldung
>> /usr/local/lib/ruby/site_ruby/1.6/DBD/Pg/Pg.rb:407:in `execute': ERROR:
>> Unterminated quoted string (DBI::ProgrammingError)
>> from /usr/local/lib/ruby/site_ruby/1.6/dbi/dbi.rb:952:in `execute'
>> from /usr/local/lib/ruby/site_ruby/1.6/dbi/dbi.rb:553:in `execute'
>> from /usr/local/lib/ruby/site_ruby/1.6/dbi/dbi.rb:575:in `select_one'
>>
>> Ich habe mir "boundsql" aus der Klasse "Statement" ausgeben lassen (puts
>> boundsql in Zeile 394 in Pg.rb), und siehe da, das Statement heisst da nur noch
>>
>> SELECT * FROM artikel WHERE artikelnr=ö'
>
>Führ mal bitte folgendes Script aus:
>
>
> require "dbi"
>
> class X
> include DBI::SQL::BasicQuote
> end
>
> prep_sql = DBI::SQL::PreparedStatement.new(X.new, "select * from a where x='ö'")
> sql = prep_sql.bind([])
> puts sql
>
>Was ist die Ausgabe?
>Bei mir kommt folgendes raus:
>
> select * from a where x='ö'
>
>
>Und was ist das Ergebnis von folgendem (auf Kommandozeile)?
>
> ruby -e 'puts "\366"'
>
>MfG,
>
> Michael
>_______________________________________________
>ruby-de mailing list
>[email protected]
>http://lists.bttr.org:8080/mailman/listinfo/ruby-de
>