[phpmyadmin] UTF-8 export gaat mis

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • posttoast
  • Registratie: April 2000
  • Laatst online: 15:08
Ik heb hier een database met UTF-8 encoded data. Werkt allemaal prima, alleen probeer ik met PHPMyAdmin een dump te doen om die database over te zetten naar een andere server. En daar gaat het mis, het bestand dat PHPMyAdmin uitspuugt is niet UTF-8 encoded maar ANSI en bevat niet de juiste data.

Voorbeeld: Россия (Russisch voor "Rusland") wordt Россия

Iemand enig idee hoe ik dit op kan lossen?

omniscale.nl


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Je hebt in de opties bij het exporteren gewoon staan welke encoding gebruikt moet worden in je exportbestand.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • posttoast
  • Registratie: April 2000
  • Laatst online: 15:08
Deze bedoel je?

PHPMyAdmin encoding settings

Die staat gewoon goed dus volgens mij.

omniscale.nl


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
En waaruit concludeer je dan dat 't mis gaat? Je opent de export toch niet in een-of-andere tool/notepad-clone/whatever die toevallig niet met UTF-8 overweg kan, wel? En bij import geef je ook UTF-8 aan?

[ Voor 10% gewijzigd door RobIII op 01-10-2012 16:30 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • posttoast
  • Registratie: April 2000
  • Laatst online: 15:08
Notepad++, dus die moet dat gewoon kunnen. En die geeft dus aan dat het bestand ANSI is en niet UTF-8. En ja, bij het importeren heb ik hem ook op UTF-8 staan.

[ Voor 21% gewijzigd door posttoast op 01-10-2012 16:32 ]

omniscale.nl


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
posttoast schreef op maandag 01 oktober 2012 @ 16:31:
En die geeft dus aan dat het bestand ANSI is en niet UTF-8.
Dan is de export waarschijnlijk niet voorzien van een BOM en werkt de encoding detectie van notepad++ waarschijnlijk niet heel jofel. Als je 'm bij openen (of na openen? ik heb geen notepad++ hier) alsnog op UTF-8 zet/forceert, wat gebeurt er dan?

[ Voor 6% gewijzigd door RobIII op 01-10-2012 16:33 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09-09 16:17

Janoz

Moderator Devschuur®

!litemod

Geeft hij aan dat het bestand ANSI is? Of geeft hij het weer als ANSI. Als er geen BOM op het bestand zit is er met geen mogelijkheid automatisch op te maken welke encoding er gebruikt wordt.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 16:38

Patriot

Fulltime #whatpulsert

Tekstbestanden hebben van zichzelf geen mogelijkheid om mee te geven in welke encoding ze zijn opgeslagen. Als PHPMyAdmin de boel opslaat als UTF-8 zonder BOM, en in de eerste x tekens zit geen teken waaruit Notepad++ denkt af te kunnen leiden dat het om UTF-8 gaat (ik weet niet of Notepad++ dit op die manier doet eigenlijk) dan is er een grote kans dat hij het als ANSI interpreteert terwijl het dat niet is. Als je in Notepad++ de boel op UTF-8 zet en hij laat het dan wel goed zien is er niets aan de hand en is alles goed gegaan.

EDIT: spuit 11 :'( 12 :')

[ Voor 3% gewijzigd door Patriot op 01-10-2012 16:34 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Janoz schreef op maandag 01 oktober 2012 @ 16:33:
met geen mogelijkheid automatisch op te maken welke encoding er gebruikt wordt.
Met geen mogelijkheid is wat overdreven (ik ben de url even aan 't googlen nog...), maar 't is wel verdomd lastig ja en niet heul betrouwbaar :P

[ Voor 12% gewijzigd door RobIII op 01-10-2012 16:35 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Zou ik ook denken, welke fatsoenlijke editor gebruikt tegenwoordig eigenlijk ANSI als default?

[ Voor 69% gewijzigd door begintmeta op 01-10-2012 16:35 ]


Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 16:38

Patriot

Fulltime #whatpulsert

RobIII schreef op maandag 01 oktober 2012 @ 16:34:
[...]

Met geen mogelijkheid is wat overdreven (ik ben de url even aan 't googlen nog...), maar 't is wel verdomd lastig ja en niet heul betrouwbaar :P
http://blogs.msdn.com/b/m...e/2007/04/22/2239345.aspx ?

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09-09 16:17

Janoz

Moderator Devschuur®

!litemod

Je kunt een heel eind komen, maar het is nooit sluitend te krijgen.

Maar goed, ik heb ff notepad++ open getrokken en daar dat russisch ingeplempt terwijl hij qua codering op UTF-8 (without BOM) stond en vervolgens de codering naar ANSI gezet en daar komt dan inderdaad keurig "Россия" uit. Kortom, PEBMAC ;).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 16:38

Patriot

Fulltime #whatpulsert

RobIII schreef op maandag 01 oktober 2012 @ 16:39:
[...]

Meer http://blogs.msdn.com/b/m...ve/2005/01/30/363308.aspx :P
Maar uiteindelijk doelde ik op deze (lekker hoog aluhoedjes gehalte voor extra vermaak): Bush hid the facts :P
Ah, mojibake! Ik was me net aan het afvragen welke zin met bush het ook alweer was :+

Acties:
  • 0 Henk 'm!

  • posttoast
  • Registratie: April 2000
  • Laatst online: 15:08
PEBMAC indeed. Maar helaas niet tussen mijn eigen monitor en stoel. Ik heb het even lokaal op mijn eigen server getest, en daar gaat het prima. Export en import naar een andere database, karakters blijven zoals ze moeten zijn.

Maar... als ik het doe op de server waar het om gaat, dan loopt het dus wel mis. Helaas doe ik die imports niet zelf (ik mag daar niet bij, alleen de sysop doet dat). Dus ik moet het probleem maar daar neer leggen. Bedankt allemaal in ieder geval :)

omniscale.nl


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Bij de import kan hij ook aangeven welke encoding het ingelezen bestand zou moeten hebben. 10 tegen 1 dat het daar mis gaat.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
NMe schreef op maandag 01 oktober 2012 @ 17:03:
10 tegen 1 dat het daar mis gaat.
Ik acht de kans dat "aan de andere kant" de tabellen op een andere encoding staan anders ook nog aanwezig; ik ken PHPMyAdmin en MySQL niet zo intiem dat ik je uit de blote bol kan vertellen dat 't daar ook kan zitten (of dat een dergelijke situatie een foutmelding zou geven oid) maar ik zou er niet van staan kijken als dat de oorzaak zou zijn. Dus dat bij de import wel de correcte encoding wordt geselecteerd maar dat de tabellen waar de de file naar toe gelezen wordt een andere encoding hebben.

[ Voor 19% gewijzigd door RobIII op 01-10-2012 17:07 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Daar zou het in principe alleen fout kunnen zijn als posttoast's setupscript niet netjes encoding heeft aangegeven bij het CREATE TABLE-statement, maar dat is inderdaad ook een optie. :P

Overigens: Waar hoort mijn topic?
WEB>>PRG

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • posttoast
  • Registratie: April 2000
  • Laatst online: 15:08
Ik heb netjes de encoding meegenomen in mijn setupscript, dus dat is het punt niet. Ik zal dit hele verhaal doorsturen naar de persoon die het beheert. Dat is in Rusland, dus die communicatie loopt al niet al te lekker ;)

omniscale.nl


Acties:
  • 0 Henk 'm!

  • pim
  • Registratie: Juli 2001
  • Laatst online: 03-09 17:05

pim

Het bestand is dus gewoon met utf-8 tekens.. Zorg ervoor dat je import ook utf-8 gebruikt:

mysql -u USERNAME -h HOSTNAME -p -f --default-character-set utf8 DATABASENAAME < datafile.sql

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Psst, kijk eens naar de 4 posts boven je. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • sky-
  • Registratie: November 2005
  • Niet online

sky-

qn ella 👌

Waarom maak je uberhaupt een export met PhpMyAdmin? Dat kan ook dmv mysqldump, werkt veel sneller.

don't be afraid of machines, be afraid of the people who build and train them.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

sky- schreef op dinsdag 02 oktober 2012 @ 15:53:
Waarom maak je uberhaupt een export met PhpMyAdmin? Dat kan ook dmv mysqldump, werkt veel sneller.
Bijvoorbeeld omdat je geen shelltoegang hebt? Of omdat je een GUI wel zo prettig vindt? Of omdat je een bepaalde extra optie nodig hebt die phpMyAdmin biedt? Het snelheidsverschil is nou ook weer niet zó groot dat het echt boeit waarmee je exporteert.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • sky-
  • Registratie: November 2005
  • Niet online

sky-

qn ella 👌

Mwah doelde meer dat als je database redelijk groot is het aardig lang duurt. ;-)

Ik zou gewoon met PHP een exec() scriptie schrijven die je database naar een .sql dumpt. Dan laad je die url (als je geen shell hebt) en even wachten.

Simpel voorbeeld: http://davidwalsh.name/backup-mysql-database-php

don't be afraid of machines, be afraid of the people who build and train them.

Pagina: 1