ge�nventariseerd ipv geïnventariseerd

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

Senior Software developer PHP

Functie Jij als senior PHP ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 developers binnen onze organisatie Jij gaat de brug zijn tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je je taken op voor de dag. Een greep van jouw taken zijn: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden met Security & Privacy Eisen • Minimaal 4

Bekijk vacature »

Junior full stack developer

Functie Als full stack developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

C# developer

Functie Als C# ontwikkelaar ben jij de spin in het web bij deze organisatie. Jij begeleidt en traint de field engineers die bij de klanten machines leveren en installeren. Daarnaast ondersteun jij de field engineers als zij bij de klant vastlopen bij het installeren van de machine m.b.t. software matige vragen. Jouw doel is dan ook om de technische kennis van de field engineers door middel van training zoveel mogelijk uit te breiden. Dit om ervoor te zorgen dat zij zelfstandiger software matige problemen kunnen oplossen. Ook ben jij verantwoordelijk voor het bedenken van software oplossingen voor klanten en dit

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

Traineeship ICT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Lead developer (PHP, Symfony, DDD)

Functie Als Lead developer zorg je ervoor dat het team (bestaande uit zowel junior als ervaren developers) in staat is om de kwaliteit van de software (en code) verder te verhogen. In samenwerking met het team, de product owner en de andere lead developers zet je technische lijnen uit en bepaal je de prioriteiten per sprint. Lijkt het jou interessant om complexe problemen op te lossen en bijvoorbeeld een nieuwe applicatiestructuur in Symfony op te zetten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en

Bekijk vacature »

.NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Back End Developer

As a Back End developer at KUBUS you will be developing the (web) application and services of BIMcollab. You have a focus on the back end of our software, for which we mainly work with C# and .NET. We use a full-stack approach, which means that in addition to the back-end, you will also help with other parts of the code. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een development team met één Senior .NET developer en één junior .NET developer. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit moment veel gebruik van .NET met ASP.NET. Komend kwartaal gaan wij wel gedeeltelijk overstappen naar .NET Core. Verder werken wij ook met SOAP, REST, JSON, HTML5, CSS3

Bekijk vacature »

Senior PHP developer met ambities tot Software Arc

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Traineeship Front-end developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

Bekijk vacature »

Mendix Developer

Voor Troostwijk Groep zoeken wij een: Mendix Developer Wij zoeken Je bent een getalenteerde en ervaren Mendix Developer en het is tijd om je horizon te verbreden. Je wilt minder coderen en meer modelleren, minder bezig zijn met allerlei technische details en randvoorwaarden en meer met functionaliteit. Daarnaast ben je trots op de innovatieve en gebruiksvriendelijke applicaties die je in de loop van de jaren hebt gebouwd. Werk je graag in een enthousiast team, wil je veel vrijheid en kun je tegelijkertijd goed met deadlines omgaan, dan ben jij absoluut degene die wij zoeken! Wat je nodig hebt is ruime

Bekijk vacature »

Sportieve Junior C#.NET developer gezocht!

Bedrijfsomschrijving Wil jij werken aan webapplicaties bij de marktleider binnen de branche? Voor een klant in de buurt van Oosterhout ben ik op zoek naar een Fullstack .NET developer. Dit bedrijf bestaat bijna 10 jaar en is inmiddels uitgegroeid tot marktleider in Nederland en heeft tevens kantoren in meerdere landen in Europa. Dit bedrijf bouwt webapplicaties waarbij internationaal enkele honderdduizenden deelnemers, soms tegelijk, een beroep doen op de realtime data uit deze applicaties. Dit brengt erg veel technische uitdaging met zich mee. Ze ontwikkelen nieuwe applicaties maar ook bestaande applicaties worden uitgebreid en verbeterd. Hier kan jij een onderdeel van

Bekijk vacature »
Jan te Pas

Jan te Pas

11/10/2018 19:04:16
Quote Anchor link
Ik heb een database overgezet. Draaide op PHP 7 en gaat naar PHP 7. Ik heb de data geimporteerd. In de myPHPmanager zie ik de tekst goed in het veld staan. De codering van het veld is utf8mb4_bin. Nu roep ik de inhoud op in een pagina. En dan krijg ik ge�nventariseerd te zien ipv geïnventariseerd.

De codering in de pagina is utf-8.

Weet iemand hoe ik dit rechtzet, of wat er gebeurd is?
Gewijzigd op 11/10/2018 19:05:17 door Jan te Pas
 
PHP hulp

PHP hulp

28/03/2024 23:20:08
 
- Ariën  -
Beheerder

- Ariën -

11/10/2018 19:07:48
Quote Anchor link
Is de encoding van de bestanden ook op UTF-8 ingesteld, en gebruikt de verbinding naar de database ook het kenmerk dat er UTF-8 wordt gebruikt? Enkel een collatie aanpassen is niet voldoende.
Gewijzigd op 11/10/2018 19:08:24 door - Ariën -
 
Jan te Pas

Jan te Pas

11/10/2018 19:20:47
Quote Anchor link
Hoi Ariën, dank alvast, maar zou ik dat moeten doen? Voordat ik de data wegschrijf? Welke opdracht moet ik DNA meegeven? Svp jouw hulp.
 
- Ariën  -
Beheerder

- Ariën -

11/10/2018 19:23:39
Quote Anchor link
Hoe connect je nu met je database?
 
Jan te Pas

Jan te Pas

11/10/2018 19:28:05
Quote Anchor link
Dit is mijn connectie:

$servername = "localhost";
$username = "xxxxx";
$password = "xxxxxx";
$dbname = "xxxxxxx";
$servername = "localhost";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
 
Thomas van den Heuvel

Thomas van den Heuvel

11/10/2018 19:32:03
Quote Anchor link
Jan te Pas op 11/10/2018 19:04:16:
Weet iemand hoe ik dit rechtzet, of wat er gebeurd is?

Je zult eerst een inventarisatie moeten maken van wat er precies aan de hand is, dit kan een kwestie zijn van het document voorzien van een Content-Type header of meta-tag, maar aan de bovenstaande code te zien selecteerde je bij het maken van een database geen character encoding dus mogelijk is de data in je database "corrupt". Dit komt dan vaak pas naar boven als je een export doet en dan in een nieuwe opzet vervolgens wel op de goede manier een verbinding maakt met je database.

Maar eerst zul je dus de situatie moeten hercreëren om precies na te gaan hoe je data verkeerd geëncodeerd in je database zit om vervolgens een eenmalige omzetting te doen. Maar dat is niet bepaald een sinecure en vereist wel wat kennis van zaken.
 
Jan te Pas

Jan te Pas

11/10/2018 19:35:17
Quote Anchor link
Hoi Thomas,
Ik had de data geïmporteerd. En toen zag ik het. Gelukkig alleen testdata. Ik heb content-type en mega wel goed staan. Ik gooi het een keer leeg en ga nieuwe testdata inoeren. Dank.
 
- Ariën  -
Beheerder

- Ariën -

11/10/2018 19:41:38
Quote Anchor link
Thomas van den Heuvel op 11/10/2018 19:32:03:
....dus mogelijk is de data in je database "corrupt". Dit komt dan vaak pas naar boven als je een export doet en dan in een nieuwe opzet vervolgens wel op de goede manier een verbinding maakt met je database.

Maar eerst zul je dus de situatie moeten hercreëren om precies na te gaan hoe je data verkeerd geëncodeerd in je database zit om vervolgens een eenmalige omzetting te doen. Maar dat is niet bepaald een sinecure en vereist wel wat kennis van zaken.

Dus met een export en import trek je dat weer recht, wil je zeggen?

Ik ga binnenkort een omzetting doen van iso-8859-1 naar UTF-8, maar ik heb geen idee of de data corrupt kan zijn. 40 MB aan data die 12 jaar lang is toegevoegd. Toen hield ik mij net als velen nog niet bezig met encoding.

Heb je misschien tips en trucs? En ja, backups staat heel dikgedrukt op mijn lijstje. ;-)
Gewijzigd op 11/10/2018 19:42:38 door - Ariën -
 
Adoptive Solution

Adoptive Solution

11/10/2018 19:44:09
Quote Anchor link
Ik gebruik dit :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$conn
= new mysqli($servername, $username, $password, $dbname);
$conn->set_charset("utf8mb4");
?>
 
Jan te Pas

Jan te Pas

11/10/2018 19:45:29
Quote Anchor link
Hier leer ik van. Dank.
 
Thomas van den Heuvel

Thomas van den Heuvel

11/10/2018 21:59:03
Quote Anchor link
- Ariën - op 11/10/2018 19:41:38:
Dus met een export en import trek je dat weer recht, wil je zeggen?

Nee.

Hier zijn al meerdere topics over geweest.

EDIT: een ALTER TABLE statement kun/zou je alleen moeten uitvoeren als de DATA ook echt van de voorgeschreven character encoding is, anders kan MySQL dit met geen fatsoen omzetten.

EDIT: het zomaar toevoegen van een set_charset() statement is een heel slecht idee, en wel om de volgende reden. Op dit moment is er mogelijk data verkeerd weggeschreven naar de database. Dit is -nadat je bent nagegaan wat het euvel precies is- waarschijnlijk toch redelijk eenvoudig te herstellen met een eenmalige (handmatige) conversie. Maar wat gebeurt er nu als je een set_charset() statement toevoegt en vervolgens vrolijk verdergaat met het vullen van data? De kans bestaat dan dat je dadelijk een mix van data met kloppende en niet-kloppende character encoderigen hebt, wat het praktisch onmogelijk (of in ieder geval een stuk moeilijker) maakt om alles in één keer recht te trekken.

Nogmaals, het is éérst zaak dat je uitzoekt wat er aan de hand is, en hoe je dat oplost, voordat je allerlei toverformules in je code zet waarvan je de impact niet kunt overzien...

EDIT: het belangrijkste is eigenlijk (nog steeds) het expliciet instellen van een character encoding bij het maken van een verbinding. Dit vormt in wezen een tweezijdig contract met jouw database. Enerzijds dien jij er zorg voor te dragen dat jij DATA aanlevert in die character encoding en anderzijds doet MySQL haar best om DATA in die character encoding vanuit de database terug te geven. Hierbij mag de character encoding die je wilt gebruiken en de character encoding waarmee de DATA is opgeslagen best van elkaar afwijken (al is dit niet aan te raden, MySQL zal de omzettingen onder water weliswaar prima kunnen verzorgen, maar dit is in principe overhead). Wat je hiervan moet onthouden is: de character encoding die je instelt bij/na het maken van een verbinding is de character encoding waarin je vervolgens communiceert/dient te communiceren met je database.
Gewijzigd op 13/10/2018 14:23:44 door Thomas van den Heuvel
 
Jan te Pas

Jan te Pas

12/10/2018 08:09:32
Quote Anchor link
@Thomas,
Helder. Ik ga de tabel in ieder geval opnieuw opzetten en er op letten de character encoding uniform te maken. Ik loop morgen de code voor ze zekerheid nog eens door. Dankallen voor de informatie.
 
- Ariën  -
Beheerder

- Ariën -

12/10/2018 10:20:24
Quote Anchor link
Als je tussentijd dus een set_charset() gebruikt, en je dus 'je data mee om zeept helpt'. Wat zijn dan de stappen om het te kunnen analyseren en te debuggen. Ik vind het zonde van mijn tijd om 10.000 records aan berichten door te spitten.

En hoe kom je vooraf te weet dat je 'om zeep geholpen' data in je database hebt?

Daar ben ik vooral benieuwd naar, omdat ik niet kan garanderen of er sprake van is.
 
Thomas van den Heuvel

Thomas van den Heuvel

12/10/2018 14:13:12
Quote Anchor link
EDIT: vragen gesplitst
- Ariën - op 12/10/2018 10:20:24:
En hoe kom je vooraf te weet dat je 'om zeep geholpen' data in je database hebt?

Hier loop je meestal -in ieder geval de eerste keer :)- op een gegeven moment gewoon tegenaan, vaak omdat je in het begin nog niet alle spelregels en interacties kent.

Dit is waarschijnlijk niet iets wat je van tevoren kunt afvangen, tenzij je voor het wegschrijven al een soort van character encoding controle verricht op de DATA die de database in gaat. Maar zelfs dan, als dit "verkeerd" geëncodeerd zou zijn (op een manier die er voor zorgt dat je tekst niet wordt weergegeven zoals je zou verwachten), dan kan een machine dat mogelijk niet detecteren want die zou de data dan ook echt moeten interpreteren. De bytereeksen kunnen namelijk best legaal zijn voor de gebruikte character encoding. In tegenstelling tot een machine kunnen wij direct op ons scherm zien wanneer een tekst door de vleesmolen is gegaan :).

- Ariën - op 12/10/2018 10:20:24:
Wat zijn dan de stappen om het te kunnen analyseren en te debuggen. Ik vind het zonde van mijn tijd om 10.000 records aan berichten door te spitten.

Je hebt geen 10.000 records nodig, maar slechts één of enkele instanties waar het misgaat om te kunnen hercontrueren wat er gebeurt.

Dit heb ik ook al min of meer eerder uitgelegd, maar ik zal nogmaals een poging ondernemen.

Gegeven een tekstpassage waar iets mis mee is, deze staat waarschijnlijk ergens in een kolom in een databasetabel. Noem dit opzet A.

Wat je nu vervolgens doet is deze situatie opnieuw creëren maar dan op de goede manier door alle character encoderingen in de pas te laten lopen en expliciet in te stellen. Dus alles van het opbouwen van de pagina tot het weergeven van de data zorg je gewoon dat dit van begin tot eind klopt. Dat kan redelijk eenvoudig. Nu heb je dus een (minimale) kloppende opzet B.

Vervolgens kun je deze situaties met elkaar gaan vergelijken. Dit zonder de werking van opzet A te veranderen, we hebben immers nog niet vastgesteld wat er mis is!

Wat we hier concreet doen is kijken naar de wijze waarop de tekst daadwerkelijk staat opgeslagen in het geheugen. Dit doen we met de PHP-functie bin2hex(), hiermee kun je binaire data hexadecimaal representeren. Het equivalent in MySQL is HEX(). Bijkomend voordeel is dat deze hexadecimale representatie ongevoelig is voor nuances tussen character encoderingen.

Nu kunnen we dus:
- met HEX() aan de database-zijde kijken (in zowel opzet A als B) hoe de oorspronkelijke organisatie is
- met bin2hex() aan de PHP-zijde kijken (in zowel opzet A als B) hoe het uiteindelijk de database uitkomt

In opzet B zou de HEX() waarde van de tekstkolom in de database hetzelfde moeten zijn als de bin2hex() waarde van de uitgespuugde tekst omdat er nergens in dat hele verhaal onder water vertalingen uitgevoerd zouden moeten zijn, alle character encoderingen waren immers gelijk geschakeld.

Dan kun je dat dus vergelijken met opzet A en na kunnen gaan waar er een verandering plaatsvindt, en hoe deze afwijkt van opzet B.

Daarna is het zaak om de "foute" vertaling van B naar A opnieuw te creëren waarmee je in principe bewijst hoe het precies fout is gelopen. En dit kun je controleren aan de hand van de hexadecimale waarden.

Tot slot verzin je iets waarin je de omgekeerde vertaalslag (van A naar B) bewerkstelligt. Dit is dan de eenmalige conversie die je uitvoert.

En dan moet je er natuurlijk voor zorgen dat vanaf dat moment de DATA op de goede manier de database in gaat door het repareren van set_charset(), meta-tag of header(), accept-charset in formulieren et cetera (dus in wezen wat je in opzet B deed).

Nota bene: als er na al deze tests uitrolt dat er niets fout gaat dan betekent dat dus dat er op een andere plek iets (grandioos) misgaat.

Enne, dit is nog steeds actueel (2003):
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
Gewijzigd op 13/10/2018 15:20:31 door Thomas van den Heuvel
 
Thomas van den Heuvel

Thomas van den Heuvel

13/10/2018 14:34:13
Quote Anchor link
Wat toevoegingen gedaan in de eerdere reactie om afzonderlijke vragen beter te beantwoorden.
Gewijzigd op 13/10/2018 14:34:25 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

13/10/2018 15:20:14
Quote Anchor link
Inmiddels heb ik gezien dat ik nog geen character-encoding meegeef aan mijn data, en dat deze in MySQL als latin1-collatie opgeslagen staat. Volgens mij moet de stap naar UTF-8 niet zo heel groot zijn, als ik mij niet vergis na alles door te hebben gelezen.
 
Thomas van den Heuvel

Thomas van den Heuvel

13/10/2018 15:27:12
Quote Anchor link
- Ariën - op 13/10/2018 15:20:14:
Inmiddels heb ik gezien dat ik nog geen character-encoding meegeef aan mijn data, en dat deze in MySQL als latin1-collatie opgeslagen staat. Volgens mij moet de stap naar UTF-8 niet zo heel groot zijn, als ik mij niet vergis na alles door te hebben gelezen.

Niet helemaal. Als je geen character encoding meegeeft na het maken van een verbinding, dan wordt een default character encoding verondersteld, dit is doorgaans latin1, tenzij anders geconfigureerd. Omdat je niet uit kunt gaan van een "standaard" default is het eigenlijk bijna altijd beter om deze expliciet in te stellen.

Dit heeft wel een aantal consequenties.
Indien je tabellen gedefinieerd zijn als utf8 (of equivalent) dan zal MySQL automatisch alle data die zij binnen krijgt voor wegschrijven converteren naar utf8. Immers: MySQL gaat er vanuit dat jij alles in latin1 aanlevert. Gevolg: alle data staat dubbel utf8-geëncodeerd in de database. Nu heb je daar op heden mogelijk geen last van gehad omdat als jij data opvraagt uit je database MySQL ziet dat je wilt communiceren middels latin1. De dubbele encoding wordt dan weer ongedaan gemaakt omdat er een eenmalige vertaling terug plaatsvindt van "utf8" naar "latin1".
Daarnaast werkt je escaping-functionaliteit mogelijk niet goed, omdat deze latin1 veronderstelt terwijl je met (dubbel geëncodeerde) utf8-data werkt.

Als je nu klakkeloos een set_charset() statement toevoegt kom je in de situatie terecht waarin je data op den duur mogelijk deels verkeerd en deels juist geëncodeerd is waardoor het een hels karwei wordt om alles recht te trekken. Het is daarom zaak de goede volgorde aan te houden:
1. identificeer het precieze probleem
2. voer een eenmalige conversie uit en tegelijkertijd
3. repareer je code zodat alles vanaf dat moment juist wordt weggeschreven

Een collatie is trouwens iets compleets anders als een character encoding. (interne link)

EDIT: MySQL werkt eigenlijk best vlekkeloos MITS jij er zorg voor draagt dat je communiceert volgens de ingestelde character encoding. Als deze niet klopt, dan kan MySQL op geen enkele manier haar werk goed verrichten, en ben je in principe zelf diegene die alle stront veroorzaakt.
Gewijzigd op 13/10/2018 16:56:07 door Thomas van den Heuvel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.