ge�nventariseerd ipv geïnventariseerd

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SAP HANA DEVELOPER

SAP HANA DEVELOPER Are you looking for the opportunity to become "the expert" when it comes to Business Intelligence, Data Analysis, Data Visualization and Data Management within a SAP environment? Then a role as a SAP HANA Developer is the job for you! Your job You contribute to the development, delivery and maintenance of business intelligence solutions based on the latest SAP technology. You improve the HANA platform for customers and you work on innovative applications that organizations are keen to promote. You use your skills to build analytical solutions with the different development possibilities of SAP HANA. You design,

Bekijk vacature »

Backend Python developer met open blik!

Functieomschrijving Je komt in een prettig team te werken op de R&D afdeling, dat veel aan kennisdeling doet met elkaar. Er is heel veel ruimte voor jouw inbreng en regelmatig bedenken ze met elkaar nieuwe toepassingen en concepten om hun klanten nog beter te kunnen bedienen. Zo ben je er dus steeds van een idee tot aan het uiteindelijke product bij betrokken. Als Python developer ontwikkel je samen met je collega's innovatieve en geavanceerde security oplossingen. Je hebt hier ontzettend veel vrijheid en een grote invloed op de producten. Je gaat hier bezig zijn binnen architectuur, concepten en (eind)oplossingen. Tevens

Bekijk vacature »

Senior PHP Developer Utrecht

Dus je bent op zoek naar een baan als programmeur, leuk. Hoe komt het? Is het je eerste baan? Ben je op zoek naar een volgende stap omdat je het idee hebt dat je tegen een glazen plafond aan komt. Misschien heb je wel ruzie gehad met je baas en heb je per direct ontslag genomen. Het bedrijf kan failliet zijn of je hebt een baan gehad die op dit moment te hoog gegrepen is voor je waardoor je bent ontslagen. Misschien wil je wel iets compleet anders. Het kan allemaal er zijn wel duizend reden om op zoek te

Bekijk vacature »

Junior PHP Developer Maatwerk Applicatie

Voor een van mijn businesspartners in de regio Amersfoort ben ik op zoek naar een junior PHP developer. Organisatie In 1999 is dit bedrijf ontstaan om er voor te zorgen dat een (voor toen) nieuwe communicatiemethode, namelijk de email. Volledig kon worden geautomatiseerd. Inmiddels zijn ze uitgegroeid tot internationale organisatie die intercontinentaal marktleider is op het gebied van email automation. In nederland zijn er in totaal 38 mensen werkzaam die elke dag voor hun klanten er voor zorgen dat alles op rolletjes verloopt. Dit doen ze voor internationale merken als Heineken en TUI maar bijvoorbeeld ook het MKB segment. Binnen

Bekijk vacature »

Allround developer worden? Dat kan met ons DevOps

Wat ga je doen? DevOps Engineer Als fulltime DevOps Engineer houd jij je bezig met de ontwikkeling (Development) en het beheer (Operations) van software. Je werkt in verschillende fases: ontwikkelen, testen, release, bijschaven en opnieuw ontwikkelen. Je werkt door het flexibele proces, in korte sprints aan ‘kleine stukjes’ van je applicatie, waardoor je met snelle deadlines werkt. Je bent als DevOps engineer dus op een flexibele, efficiente en veel snellere manier bezig met het ontwikkelen van applicaties, websites en software. Als DevOps Engineer word je 'T-Shaped' opgeleid. Jij specialiseert je in programmeren maar daarnaast heb je ook een brede kennis

Bekijk vacature »

Senior PHP developer

Organisatie Wil jij in een volwassen organisatie werken die zich al klaar aan het maken is voor 2020!? Om de fundering voor de toekomst voor 2020 te leggen zoeken we op dit moment een senior PHP developer om de belangrijkste projecten te gaan sturen. Sinds de oprichting van deze organisatie, zo’n 12 jaar geleden, zijn ze nog nooit gekrompen. Op dit moment telt het bedrijf 25 developers die zich hebben gespecialiseerd in de ontwikkeling van websites en apps. Er wordt met name aan grote projecten gewerkt voor bekende voetbalclubs tot Nederlands grootste telecom aanbieders, merken waar je trots op kunt

Bekijk vacature »

Online gambling organisatie zoekt Medior PHP devel

Bedrijfsinfo De organisatie gelegen midden in Breda bestaat nu ruim 15 jaar, en heeft zich ontwikkelt tot de marktleider op het gebied van online-gambling. Het team bestaat uit 50 werknemers waarvan ruim 10 webdevelopers. De sfeer binnen de organisatie is erg informeel. Alles kan en alles kan, zolang er maar gewerkt wordt! Buiten de super sfeer binnen het bedrijf werk je ook echt in een platte organisatie, het contact met de directie is het zelfde als met de Junior developer die naast je zit! Functieomschrijving Binnen de organisatie vertaal je de bedrijfswensen naar concrete PHP-oplossingen. Samen met het development team

Bekijk vacature »

Medior C# Developer

Organization For one of PHIND’s business partners I’m looking for a Senior C # .NET developer. You will work at a company in Delft that deals with both software development and hardware, in the agricultural sector. The organization is makes hardware products to make work in the agricultural sector easier. Examples are processing machines for different crops, registration systems for products and labor, or climate control. The company is currently one of the top 3 players in this field, and always trying to stay ahead of the competition with an innovative approach to their product. You do this from a

Bekijk vacature »

PHP Developer gezocht voor in de verzekeraarswerel

Vacature Omschrijving Onze klant is een succesvolle speler in de verzekeringsbranche, met diverse producten, merken en platformen. Met meer dan 150 collega’s is de organisatie elke dag bezig om de kwaliteit te verbeteren en het leuker te maken en beter voor haar klanten. Het kantoor is gevestigd in de buurt van Rotterdam en is goed bereikbaar met de auto, het ov en de fiets. Het is een informele organisatie, waarin je de vrijheid hebt om ideeën aan te dragen. Functieomschrijving Als PHP developer bij deze mooie organisatie bedenk je nieuwe functionaliteiten en ga je deze ontwikkelen. Je bent continu bezig

Bekijk vacature »

Functioneel applicatiebeheerder / tool ontwikkelaa

Functieomschrijving Heb jij affiniteit met IT en Recht? Kijk je ernaar uit om de gebruikers tooling aan te bieden voor het vergemakkelijken van hun werkzaamheden? Neem dan contact met mij op! Het vertalen van juridische tekst naar praktische toepassingen; Het controleren en beoordelen van content; Het ontwikkelen van statische en interactieve tooling; Het functioneel beheren van de diverse platformen; Schakelen met de diverse leveranciers; Het optimaliseren van de processen. Functie-eisen Je hebt HBO werk- en denkniveau en bij voorkeur een afgeronde opleiding met een juridisch/financieel component; Je hebt enige ervaring met IT op het gebied van applicaties en tooling; Je

Bekijk vacature »

Starter/junior frontend developer

Heb jij er altijd al van gedroomd om een bijdrage te leveren aan het tegen gaan van klimaat verandering? En lijkt het jou ook tof om in een bosrijke omgeving te werken? Dan heb jij jouw droom job gevonden! Met het zonnetje op je achterhoofd kom jij op een maandagochtend op je werk binnen gelopen. Bij binnenkomst hoor jij jouw collega’s luidkeels lachen. Humor wordt namelijk goed gewaardeerd bij jullie op de werkvloer! Jij houdt zelf ook van een geintje, maar weet ook wanneer er doorgewerkt moet worden om jullie doelen te behalen. Jullie beginnen de dag met de daily

Bekijk vacature »

Senior .NET Developer

Organisatie Deze organisatie is marktleider op het gebied van software voor de automotive industrie. Zij maken software ter bevordering van de rittenregistratie en wagenparkadministratie voor leasemaatschappijen. Het bedrijf is circa 60 man groot waarvan 9 software developers. Naast de development afdeling heb je een creative-afdeling, een salesafdeling en een supportafdeling. De organisatie bestaat bijna 20 jaar en is nog altijd groeiende. De medewerkers zijn er loyaal en staan allen achter de ambitie die het bedrijf heeft. De sfeer is er erg informeel, binnen een uiterst moderne werkomgeving. Functie Als back-end developer ben je een belangrijke schakel binnen het scrum team.

Bekijk vacature »

Gedreven Medior PHP developer

Organisatie Stel je voor; je schakelt binnen een van de meest toonaangevende organisaties binnen de zorg- en verzekeringsbranche. De informatie die feilloos door de zeer complexe applicaties stroomt die jij en je team elke dag weer perfectioneren is uiterst betrouwbaar. Jij bent dan ook een absolute PHP-held die zich kan vinden in het gezegde; ‘’onmogelijk bestaat niet, het kost alleen wat meer tijd’’. Je bekleed de rol van PHP developer binnen een team van absolute eindbazen op het gebied van software development. De producten en opdrachten zijn zeer divers, maar dat jij telkens weer diep in de code duikt verandert

Bekijk vacature »

PHP Developer

Wat ga je doen? Als PHP developer bij Etrias ben je verantwoordelijk voor een naadloze aansluiting van onze diverse backend systemen op de shops. Je zorgt er voor dat deze systemen elke dag wat beter worden en de groei van Etrias aan kunnen. Je bent een enthousiaste programmeur die ervaring heeft met en kennis van kwalitatief hoogwaardige webapplicaties. Een echte team player, die graag een bijdrage levert aan een goed product. Uitdagingen die bij onze groei horen durf je met beide handen aan te pakken en je verdoet liever geen tijd aan urenlang overleggen en maandenlange projecten maar komt met

Bekijk vacature »

Medior back-end ASP.NET C# Developer

Organisatie Voor een businesspartner in de omgeving van Ede ben ik op zoek naar een ervaren ASP.NET C# developer. Het bedrijf maakt een softwareplatform voor de automotive industrie. Dagelijks maken 4500 transporteurs in heel Europa gebruik van dit platform. Het betreft een voertuigvolgsysteem wat in verbinding staat met een mobiele app en de desbetreffende boordcomputer. Het voertuigvolgsysteem draagt onder andere zorg voor rittenregistratie, beheer van de lading en het beoordelen van de rijstijl van desbetreffende chaufeur. Het bedrijf is 22 jaar geleden opgericht als een echt softwarehuis. Naast zeven developers zijn er twee mensen die zorg dragen voor de verkoop

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

19/06/2019 18:10:02
 
- 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.