Avatar billede Swift Praktikant
26. oktober 2005 - 14:34 Der er 1 kommentar og
1 løsning

Unicode tegn i MySQL

Denne SQL kommando:
UPDATE tabel SET data = 'Test: ○אַﻐﻰ :tseT' WHERE id = 187
(I strengen er der diverse unicode encodede tegn)

Hvis jeg udfører denne kommando fra MySQL Query Browser 1.1.15, så kan jeg efterfølgende trække nøjagtig det samme ud af databasen.

Men hvis jeg udfører kommandoen fra Perl 5.6.1 med DBI 1.37, så kan jeg hvor specialtegnene skulle stå - kun se "firkanter" i databasen.
(Jeg kører iøvrigt gennem MySQL ODBC Connecter 3.51.11-2)

Databasen er en InnoDB indstillet til charset: utf8 og collation: utf8_unicode_ci

Hvad kan dette skyldes??
Avatar billede Swift Praktikant
26. oktober 2005 - 14:39 #1
Jeg glemte lige lidt!

Denne virker KUN via Query Browser:
UPDATE tabel SET data = N'Test: ○אַﻐﻰ :tseT' WHERE id=187

Denne virker både ved Query Browser, og via Perl.
UPDATE tabel SET data = 'Test: ○אַﻐﻰ :tseT' WHERE id=187

HVORFOR er der denne forskel?
Jeg vil jo helst gøre det MED N'et inden strengen - for det er samme syntax som MSSQL.
Avatar billede Swift Praktikant
13. november 2005 - 22:34 #2
Lukker spørgsmålet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester