unicode karakters opslaan

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een leuke opdrachtgever in de omgeving van Hilversum! Voor een leuk bedrijf in de omgeving van Hilversum zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. Ben jij iemand die graag aan verschillende projecten werkt en het ook leuk vindt om bij klanten op bezoek te gaan? Dan ben jij de perfecte kandidaat! Deze functie is erg divers, je moet dus goed kunnen schakelen. Je komt te werken in een klein team van developers. Binnen het bedrijf hangt er een gemoedelijke informele

Bekijk vacature »

Medior/Senior Software Developers gezocht in de Ra

Functie Op dit moment staan er posities open voor de volgende functies: Front-end, Back-End & Fullstack software developer. Als Front-End software developer werk je met JavaScript en de bijbehorende technologieën zoals TypeScript, Angular, React, Vue en Svelte. Als Back-End software developer ben je bezig in NodeJS en doe je dit met behulp van AWS, NoSQL, REST en GraphQL. Je krijgt leuke en uitdagende opdrachten met een gemiddelde duur van anderhalf jaar. Hier werk je in een team met andere IT’ers aan het ontwikkelen en verbeteren van software. Je wordt begeleid door een accountmanager die fungeert als jouw aanspreekpunt. Het team

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Belastingdienst - Freelance Applicatieontwikkelaar

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Hybride. Kantoordagen in Utrecht, incidenteel in Apeldoorn Functieomschrijving: De afdeling IV – Generieke Voorzieningen – Interactie Online is onderdeel van de keten Interactie. De missie van de keten is: “het faciliteren van de interactie met alle burgers, bedrijven en hun vertegenwoordigers om hen in staat te stellen aan hun fiscale verplichtingen te voldoen en aanspraak te maken op hun rechten.” De afdeling Interactie Online heeft een belangrijke bijdrage binnen deze keten. Dit door het ontwikkelen

Bekijk vacature »

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Software Programmeur PHP

Functie Wij zijn op zoek naar een PHP programmeur voor een leuke opdrachtgever in omgeving Alblasserdam. Heb jij altijd al willen werken bij een bedrijf dat veilige netwerkverbindingen levert door middel van veilige oplossingen? Lees dan snel verder. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Tevens

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer start jij in een development team met twee ervaren software ontwikkelaars. Jouw persoonlijke ontwikkeling is voor ons erg belangrijk en jij gaat dan ook meelopen met onze Senior .NET ontwikkelaar die jou met zijn kennis en ervaring een goede begeleiding kan aanbieden. 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

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

C++ Developer

Functieomschrijving Ben jij als software engineer toe aan een nieuwe uitdaging? Dan zijn wij op zoek naar jou! Voor het maken van de procesbesturingsoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Ontwerpen, programmeren en testen van productaanpassingen; Implementeren van nieuwe productreleases in de projectteams; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden,

Bekijk vacature »

Back-end Software Developer

Functie omschrijving Ben jij op zoek naar een uitdagende development functie bij een klein gespecialiseerd softwarebedrijf? Wil jij graag hybride werken (combi tussen thuis + kantoor), loop jij warm voor maatwerk software en voel jij je prettig in een informele cultuur? Zoek dan niet verder! Reageer direct! Voor een gewilde werkgever in omgeving Tilburg zoeken wij een back-end software developer met een aantal jaar werkervaring. Je gaat werken voor een klein softwarebedrijf dat gespecialiseerd is in de ontwikkeling van integratiesoftware. Jouw werkzaamheden zien er als volgt uit: In een klein team met 4 ontwikkelaars houd jij je bezig met afwisselende

Bekijk vacature »

Junior .NET Software Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »
Jan R

Jan R

18/10/2021 11:48:37
Quote Anchor link
Hi

Ik probeer unicode karaters op te slaan zoals (als ik hier tekens toon wordt het bericht afgekapt:))

in de header staat <meta charset="utf-8">
Ik gebruik <form accept-charset="utf-8">
Ik heb de tabel en veld aangepast naar utf8mb4
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
ALTER TABLE trn_gamecomments CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE trn_gamecomments CHANGE `comment` `comment` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL;

De gegevens komen juist aan. Ik zie ze bij een print_r($_POST)
In de database staan ze juist (phpMyAdmin) maar na opvragen krijg ik ?

Jan
Gewijzigd op 18/10/2021 11:53:11 door Jan R
 
PHP hulp

PHP hulp

03/05/2024 07:11:55
 
- Ariën  -
Beheerder

- Ariën -

18/10/2021 11:55:16
Quote Anchor link
Ook al een UTF-8 header in PHP geplaatst?
 
Jan R

Jan R

18/10/2021 11:57:06
Quote Anchor link
wordt automatsch toegevoegd via htaccess: AddDefaultCharset utf-8

Toevoeging op 18/10/2021 12:00:35:

Gewoon voor de zekerheid nog eens in het phpscript geplaatst
header('Content-Type: text/html; charset=utf-8');
 
Ozzie PHP

Ozzie PHP

18/10/2021 13:15:17
Quote Anchor link
Jan R op 18/10/2021 11:57:06:
Gewoon voor de zekerheid nog eens in het phpscript geplaatst
header('Content-Type: text/html; charset=utf-8');

Wel handig als je dan ook even aangeeft of er iets is gewijzigd ... we hebben namelijk geen glazen bol ;)
 
Jan R

Jan R

18/10/2021 14:41:55
Quote Anchor link
Blijkbaar niet anders had ik wel iets gezegd zoals opgelost. Niet dus.
 
Ozzie PHP

Ozzie PHP

18/10/2021 14:53:58
Quote Anchor link
Jan R op 18/10/2021 14:41:55:
... anders had ik wel iets gezegd zoals opgelost ...

Wat jij zou hebben gezegd kunnen we uiteraard niet raden ;-)

Maar goed, nog niet opgelost dus. Dan is dat in ieder geval duidelijk.
 
Ad Fundum

Ad Fundum

18/10/2021 20:08:31
Quote Anchor link
Heb je de tut al snel gescand op mogelijke issues? Bijvoorbeeld heb je de mysqli client (in PHP) in UTF8 gezet?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$db
= new mysqli($host, $account, $password, $database);
$db->set_charset('utf8mb4');
?>

Sorry voor deze be'tut'eling ;-)
Gewijzigd op 18/10/2021 20:09:24 door Ad Fundum
 
- Ariën  -
Beheerder

- Ariën -

18/10/2021 20:46:27
Quote Anchor link
Vergeet ook zeker niet deze tutorial van Thomas van den Heuvel.

http://fangorn.thijma.nl/news/latin1-vs-utf8

Waar is hij eigenlijk?
 
Jan R

Jan R

19/10/2021 06:02:57
Quote Anchor link
Ad Fundum op 18/10/2021 20:08:31:
Heb je de tut al snel gescand op mogelijke issues? Bijvoorbeeld heb je de mysqli client (in PHP) in UTF8 gezet?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$db
= new mysqli($host, $account, $password, $database);
$db->set_charset('utf8mb4');
?>

Ook niet gelukt. Zelfs de totale db omgezet naar utf8mb4 hielp niet. Toch zou het mogelijk moeten zijn want staat juist in phpMyAdmin

Toevoeging op 19/10/2021 06:09:09:

Bij de export van phpMyAdmin staat alles OK
https://www.janr.be/sql/sql.sql
Na de import nog steeds OK in phpMyAdmin

Toevoeging op 19/10/2021 06:23:44:

Extra info:
Mijn data komt van 4 tabellen waarvan 1 dubbel dus 5.
Als ik enkel de tabel met smileys opvraag dan krijg ik per smiley 3 ruitjes met een vraagteken
Gewijzigd op 19/10/2021 07:00:25 door Jan R
 
Ad Fundum

Ad Fundum

19/10/2021 09:20:50
Quote Anchor link
Als ik maar 1 voorbeeld noem hoeft je dat natuurlijk niet te weerhouden de rest van de tutorial te lezen.
Want die is sluitend, als je alles volgt heb je geen problemen met die vraagtekens.
Dus dan nog een andere 'educated guess': snapt je browser dat-ie UTF-8 ontvangt? Die meta tag is alleen handig voor HTML-bestanden die op zichzelf staan. Als je ze via een webserver aanbiedt dan kan je beter de goede HTTP header meegeven.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
header('Content-Type: text/html; charset=utf-8'); /** @link http://www.w3.org/International/O-HTTP-charset */
?>

Controleer ook of je webserver niet stiekum een andere encoding meestuurt, bijvoorbeeld via de developertools in de browser (F12).

Toevoeging op 19/10/2021 09:25:32:

- Ariën - op 18/10/2021 20:46:27:
Waar is hij eigenlijk?

Hij doet het rustiger aan nadat hij hier onjuiste dingen ging beweringen.
Zo heel af en toe heb ik nog wel een post van Thomas gezien.
 
Adoptive Solution

Adoptive Solution

19/10/2021 10:12:16
Quote Anchor link
Zonder base64 zoals hieronder beschreven, krijg ik ? te zien ipv emojis.

Bewaar je comment voortaan als base64 en decode het weer in PHP
Met gebruik van je demo database, voer deze queries uit

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
UPDATE trn_gamecomments SET comment = TO_BASE64(comment);
SELECT * FROM trn_gamecomments;
SELECT *, FROM_BASE64(comment) FROM trn_gamecomments;


Database ziet er dan zo uit :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
-- Adminer 4.8.1 MySQL 5.5.5-10.3.29-MariaDB dump

SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';

SET NAMES utf8mb4;

DROP TABLE IF EXISTS `trn_gamecomments`;
CREATE TABLE `trn_gamecomments` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `gameid` int(11) NOT NULL,
  `w_b` enum('white','black') COLLATE utf8mb4_unicode_ci NOT NULL,
  `comment` text COLLATE utf8mb4_unicode_ci NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `gameid` (`gameid`,`w_b`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `trn_gamecomments` (`id`, `gameid`, `w_b`, `comment`) VALUES
(1,    4145,    'white',    'V2l0'),
(2,    4145,    'black',    'WndhcnQ='),
(38,    3876,    'black',    'TWlqbiB2ZXJzbGFnIG1ldCBbYl1ib2xkWy9iXSBlbiBbaV1pdGFsaWNbL2ldIGthcmFrdGVycw0K\nOikgOnAgOigNCvCfmJgJ8J+YmQnwn5iaCfCfmJsJ8J+YnAnwn5idCfCfmJ4J8J+Ynw==');

-- 2021-10-19 07:57:27


Dan in HTML/PHP :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Emojis uit database</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
$db
= new mysqli(localhost, 'user', 'password', 'database');
$query = 'SELECT * FROM trn_gamecomments WHERE id = 38;';
$result = $db->query($query);
$row = $result->fetch_object();
echo '<pre>' . print_r( $row, TRUE ) . '</pre>';
echo $row->comment . '<br />';
echo base64_decode($row->comment);
?>

</body>
</html>


Bij een INSERT doe je in PHP base64_encode($comment)
Gewijzigd op 19/10/2021 10:28:10 door Adoptive Solution
 
Jan R

Jan R

19/10/2021 11:08:47
Quote Anchor link
Werkt perfect. Bedankt.
Wel nog een stripslashes toegevoegd. Je weet maar nooit :)

utf8mb4 is dan ook niet meer nodig en utf8_unicode_ci kan dus blijven. tenzij er een reden is om over te stappen naar utf8mb4?

Voor mij was de tabel update niet nodig. Die 3 testlijntjes kan ik wel opnieuw schrijven en in productie kent niemand deze functie. Nog niet:)

Jan
 
- Ariën  -
Beheerder

- Ariën -

19/10/2021 11:37:04
Quote Anchor link
Utfmb8 heeft ondersteuning voor emoji's.
Waarom zou je die aan de kant willen zetten?
 
Jan R

Jan R

19/10/2021 11:39:23
Quote Anchor link
Omdat base64 deze gecodeerd heeft en nog maar uitsluitend 6 bits gebruikt als ik het juist begrepen heb.

PS je moet zelf eens testen op phphulp om een bericht MET eomji's te posten
 
Ad Fundum

Ad Fundum

20/10/2021 11:57:29
Quote Anchor link
Weet je wat zo leuk is van base64 encoderen? Je hebt niet eens meer Latin1 nodig! Super handig!
Je weet altijd waar je aan toe bent met CHAR, geen lastige lengtes meer, je maakt alles gewoon ASCII.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
CREATE TABLE t1 (
  c1 CHAR(1) CHARACTER SET ascii
);

En als je zeker wilt weten dat al die geinige lachebekjes doorkomen op je browser, doe je eenvoudig base64_encode(htmlentities($emoji)) voordat je het opslaat, succes gegarandeerd.

En het allermooiste is: met slechts twee functies en ASCII kan je echt alles, je hoeft geen enkele tutorial te lezen. Simpeler kan het niet.
 



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.