unicode karakters opslaan

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java Developer

De vacature Programmeren gebeurt voornamelijk in Java, maar bij nieuwe projecten is er genoeg vrijheid om andere technieken uit te proberen en te implementeren. We staan zeker open voor verbeteringen en nieuwe ideeën! Je bent van begin tot eind bij projecten betrokken, hebt veel inspraak in de besluitvorming en kan zo een belangrijke rol spelen in de oplevering van een strak eindproduct. Aangezien we zeker wat hulp kunnen gebruiken op het gebied van het doorvoeren van IT-verbeteringen op de veilingwebsites en webapplicaties van OVM Group, zijn we op zoek naar iemand die minimaal 32-40 uur per week beschikbaar is. Een

Bekijk vacature »

JavaScript Developer

Als Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als JavaScript Developer bij Coolblue? Als Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Je krijgt energie van het bedenken van creatieve oplossingen en presenteert dit graag binnen het team. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te

Bekijk vacature »

Technisch Applicatiebeheerder

BNP Paribas Cardif zoekt een Technical Support Engineer / Technisch Applicatiebeheerder Ben jij een ster in het aanpakken van technische vraagstukken binnen een divers applicatielandschap? Ben je een gedreven en positieve collega? En wil je graag werken voor een internationale verzekeraar? Dan ben jij onze nieuwe Technical Support Engineer/Technisch Applicatiebeheerder. Wat je bij ons doet Je bent verantwoordelijk voor het technisch beheer van een aantal bedrijf kritische applicaties. Je werkt hierbij nauw samen met de IT-collega’s -van zowel de Nederlandse als de Belgische vestiging- en externe support- en ontwikkelpartijen. Maar wat doe je dan concreet de hele dag? Bijvoorbeeld: •

Bekijk vacature »

BI Developer @ Arnhem

2021-11-22 iSense BI Developer Heb jij minimaal 3 jaar ervaring als BI Developer en wil jij werken aan een gezonder en sterker Nederland? Kijk je uit naar een functie binnen een groeiende organisatie in de sport branche waar je naast jouw huidige kennis en ervaring de ruimte krijgt om jezelf verder te ontwikkelen? Solliciteer dan snel! ISVI51808 Organisatie Voor een organisatie binnen de sport branche in regio Arnhem zijn wij op zoek naar een BI Developer. Je komt terecht in een team van 5 man waarvan 3 back-enders en 2 front-enders. De sfeer is informeel en iedereen is gelijk. Momenteel

Bekijk vacature »

Fullstack Developer @ Amsterdam

2021-11-23 iSense Fullstack Developer Are you a Fullstack Developer who would like to work for one of the largest and most reputable financial organizations worldwide? Do you want to focus on projects where you will devise and implement the most innovative solutions (in-house) from scratch for recognized organizations (with amongst others Python and JavaScript)? Keep reading! ISKA51813 Organization If you're a Fullstack Developer, this is your chance to get started at one of the largest and most reputable financial organizations worldwide. With various establishments, this organization forms an important player in the financial market. The company has approximately 5000 employees

Bekijk vacature »

Microsoft 365 Engineer

Opleidingsbudget van € 5.000,- Onze opdrachtgevers werken met de nieuwste technieken dus onze medewerkers ook. Daarom bieden we jou uitgebreide opleidingsmogelijkheden en ondersteunen we je maximaal in je ontwikkeling. We bepalen samen met jou een opleidingstraject want niemand wil stilstaan in zijn ontwikkeling, zeker niet in de IT. Wat mag je nog meer verwachten? Direct een arbeidsovereenkomst voor onbepaalde tijd Een salaris tussen de € 3.500,- en € 4.500,- bruto per maand o.b.v. 40 uur Diverse bonussen: - 1800+ uur bonus - Wervingsbonus, een waardebon naar keus, ter waarde van € 1.500,- netto Een onkostenvergoeding van € 100,- netto per

Bekijk vacature »

Senior Low-code Developer

De vacature Als Senior Low-code Developer combineer je de rol van IT consultant met die van applicatieontwikkelaar. Je gebruikt je technische expertise, platformkennis en ontwikkelervaring om in een multidisciplinair project of DevOps team kwalitatief hoogwaardige IT oplossingen te implementeren en beheren, zoals mobiele apps, business applicaties en workflow systemen. We werken met moderne cloud platformen, zoals Mendix en Microsoft Power. Als Senior Low-code Developer specialiseer je je in de technologie en toepassingen van deze platformen en heb je een technische rol in presales en delivery trajecten. Functie eisen Afgeronde technische WO- of HBO-opleiding met WO denk- en werkniveau Minimaal 2

Bekijk vacature »

.NET Developer

De vacature In deze diverse functie als .NET Ontwikkelaar ben je verantwoordelijk voor de innovatie, realisatie en het beheer van de complexe informatiesystemen voor een van onze leuke klanten. Als developer achterhaal je proactief de behoeften en wensen van de gebruikers binnen de organisatie. Deze vertaal je naar functionele en technische ontwerpen, afhankelijk van de omvang van het project. Vervolgens realiseer, programmeer en test je je oplossingen, om daarna samen met je klant te bespreken of het gewenste resultaat bereikt is. Functie eisen Een relevant diploma heeft op minimaal HBO niveau; Minimaal twee jaar relevante werkervaring heeft; Bij voorkeur C#,

Bekijk vacature »

Webdeveloper

De vacature Ontwikkelen van websites, webshops & applicaties Bedenken en implementeren van maatwerk oplossingen Onderhouden en ontwikkelen van ons CMS API koppelingen maken IT problemen (bugs) oplossen Functie eisen HBO denk- en werkniveau Min. 2 jaar ervaring met PHP, MySQL Symfony componenten Ervaring met HTML, CSS en JavaScript Jouw belangrijkste taken 1. Ontwikkeling CMS 2. Vacature Webdeveloper Cooder.nl 3. Interne projecten 4. Doorontwikkelen/opzetten Leveranciers portaal,b2b portaal,Verkoop systeem bouwen Refurbished Over RV Websolutions Wij zijn RV Websolutions. Wij maken websites en online applicaties voor het MKB. Al 10 jaar leveren wij maatwerk met de nieuwste web technologieën, met als fundament ons

Bekijk vacature »

Senior Applicatieontwikkelaar Java of .NET

Wij zijn Turnn! In korte tijd hebben we als startup een platform ontwikkeld en in de markt gezet voor het organiseren van volledige mobiliteit van consumenten en medewerkers van bedrijven. Openbaar vervoer, deelauto’s, deelfietsen en nog veel meer kun je plannen, boeken, betalen met ons platform. Dit platform bestaat uit onder meer een apps, backend en een multimodale reisplanner. Met een jong en creatief team zijn we in rap tempo de markt aan het veroveren. Nu nog hoofdzakelijk in Nederland maar met grote plannen om de grens over te gaan. We zoeken naar gedreven, eigenwijze en ervaren developers om de

Bekijk vacature »

.NET Software Developer - Groningen

De vacature Met je kennis van .NET en de Microsoft-stack het verschil maken in de digitale transformatie van bedrijven; dat is wat wij zoeken in een .NET software developer. In de tijd die je al als software developer bezig bent geweest, heb je inmiddels veel kennis opgedaan over .NET en weet je hoe je in C# het beste applicaties kunt ontwikkelen. Maar wij weten ook dat development breder is dan coderen alleen. Goede software ontwikkelen heeft voor jou net zo goed te maken met het toepassen van best practices en goede architectuur, het efficiënt gebruik van resources of het kunnen

Bekijk vacature »

Business Intelligence Developer

De vacature Als BI-consultant help je onze klanten complexe vraagstukken en business requirements te vertalen naar oplossingen. Je levert hoogwaardige diensten en zoekt naar duurzame oplossingen voor specifieke uitdagingen van de opdrachtgever. Met jouw technische kennis, inzicht, werkervaring en communicatieve vaardigheden weet je ingewikkelde situaties snel te analyseren. Jij maakt de klant blij door complexe zaken eenvoudig te maken. Dat is jouw passie! Functie eisen HBO/WO werk en denk niveau (afgerond) Meerdere jaren ervaring in Business Intelligence en datawarehousing; Medior 3 tot 5 jaar, senior meer dan 6 jaar ervaring in de BI Kennis en ervaring met één of meerdere

Bekijk vacature »

Fullstack PHP Developer

De vacature Elke dag maken 1.500+ restaurants en duizenden consumenten gebruik van het web-based platform van Foodticket. Jaarlijks verwerken we miljoenen transacties. Vele mensen dus die gemakkelijk en snel willen kunnen werken en/of online bestellen. Voor ons web-based platform zijn we bezig met de transitie van Perl naar PHP (Laravel). Hiervoor zijn we op zoek naar een Full Stack Software Engineer. Je bent verantwoordelijk voor het realiseren van delen van het nieuwe platform op basis van moderne en solide webtechnologieën. De software is modulair opgezet, waardoor we verwachten dat op termijn iedere engineer in ons team verantwoordelijk gaat worden voor

Bekijk vacature »

Medior Cloud .NET Developer I State Of The Art Sof

Bedrijfsomschrijving De organisatie kent inmiddels 23 medewerkers en de core business is het versoepelen van bedrijfsprocessen middels met maken van hoogwaardige en flexibele software, gemaakt door slimme techneuten. Het bedrijf heeft een eigen platform ontwikkeld welke als SaaS geboden wordt aan de klanten. Het platform is veelzijdig en kent onder andere workflow integrations, import/export van data, reporting, volledige API ondersteuning en ook is het platform volledig voor Azure cloud geschreven! De organisatie is vormgegeven rondom de developers, je komt dus in een IT gedreven organisatie waarin jij als IT'er een behoorlijk centrale rol hebt. Niet alleen de software is mooi,

Bekijk vacature »

Fullstack Developer

De vacature Je bent een échte koning(in) in code. En eigenlijk kun je niet kiezen tussen front- en backend. Je kan responsive templates opzetten met een hoge pagespeed, maar voor complexe backend systemen kunnen we je ook wakker maken. Je bent een developer met ervaring in het ontwikkelen van vette websites en applicaties. En je laat je natuurlijk niet afschrikken door een beetje werkdruk (of de slechte grappen in ons team). Als full stack developer ben je onderdeel van één van onze scrum teams. Samen met een project manager, designer, tester en andere developers maak jij de allerbeste websites, apps

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

09/12/2021 05:02:24
 
- 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.