Speciale karakters

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze klanten. Geen werkdag is hetzelfde, je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Arval en de Politie. Werken bij Sogeti Nieuwe ontwikkelingen volgen we op de voet en delen we binnen de

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 »

C# ontwikkelaar

Functie omschrijving Werk jij graag met C# en het .NET framework in een leuk familiebedrijf? Lees dan snel verder! Jouw takenpakket hierbij is: Je gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Je gaat werken in een Microsoft omgeving (ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Daarnaast optimaliseer je de bestaande software. Bedrijfsprofiel Deze organisatie is gevestigd in de omgeving van Best en is een echt familiebedrijf. Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met

Bekijk vacature »

Lasrobotprogrammeur/operator

Heb je interesse in trekkers en beschik je overvlijmscherpse precisie? Solliciteer dan op deze vacature! Als Lasoperator ben je vooral bezig met het maken van nieuwe lasrobotprogramma’s en het optimaliseren van bestaande programma’s, zowel online als offline (incl. het bedienen van de Lasrobots). Daarnaast draag je bij aan een optimaal rendement van de las robots. Verder heb je de volgende werkzaamheden: Het meewerken als operator c.q. Robotlassen niveau 2 (van complexe samenstellingen/halffabricaten), het om- en instellen van de diverse stations van lasmallen (productdragers), het afwerken van laswerk (verwijderen lasspetters en oxiden), het bewaken van de machineplanning (op bewerkingen) incl. de

Bekijk vacature »

Senior .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 »

ERP Developer fleet managementsysteem

Wat ga je doen als ERP Developer fleet managementsysteem? Als ERP developer speel jij een belangrijke rol bij het doorvoeren van wijzigingen en verbeteringen binnen het fleet managementsysteem. Jouw expertise op het gebied van ERP systemen stelt jou in staat om de applicatie optimaal te laten functioneren en te blijven ontwikkelen. Als lid van het IT-team werk je nauw samen met andere developers en het business team om het fleet managementsysteem te integreren met andere systemen. Je bent verantwoordelijk voor het ontwikkelen van nieuwe functionaliteiten en het implementeren van verbeteringen op basis van de wensen en eisen van onze klanten.

Bekijk vacature »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

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 »

Fullstack developer (NodeJS, React, AWS)

Functie Als Fullstack developer kom je te werken in het ontwikkelteam, maar zoals gezegd komt er veel meer bij kijken dan alleen maar ontwikkelen. Je bent samen met je collega’s continu bezig om de software uit te breiden maar hiernaast doe je doorlopend onderzoek naar de inzet van bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Maar waar staan ze nu? Na een onderzoeksfase van ruim een jaar zijn

Bekijk vacature »

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 »

PHP Developer

Functie omschrijving Als PHP / Laravel developer zal je in een klein team terecht komen. Wij zijn op zoek naar een echte specialist, iemand die de balans weet te vinden tussen techniek en perfectie. In de aankomende jaren wilt dit bedrijf flink groeien en daarom zijn ze op zoek naar jou! Wat ga je doen? Je draagt bij aan het ontwikkelen en onderhouden van bestaande webapplicaties die boordevol functionaliteit zitten. Deze applicaties worden gebruikt door de organisatie zelf en ook door de klanten. Inmiddels wordt er gewerkt met Laravel 8 en zijn er diverse koppelingen naar externe leveranciers. Verder zal

Bekijk vacature »

Senior C# Software Ontwikkelaar te Zaandam

Bedrijfsomschrijving Deze werkgever heeft als missie om haar klanten op ICT-gebied volledig te ontzorgen. Ze zijn een ICT bedrijf met een verscheidenheid aan ICT oplossingen waaronder Cloud oplossingen en een groot deel van het werk is gericht op software realisatie. Voor de Enterprise-klanten voert het relatief kleine ontwikkelteam waar jij deel uit van kan gaan maken binnen deze organisatie te Zaandam de grootste opdrachten uit. Niet alleen websites en complexe webapplicaties maar ook mobile apps, web services en complete systeemintegraties! Je moet dan denken aan Dynamics, Sharepoint en Salesforce. Je komt hier terecht in een relatief kleine organisatie met ontzettend

Bekijk vacature »

Java Ontwikkelaar

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Senior Java developer

Als Senior Developer bij Sogeti ben je onderdeel van onze toonaangevende best-gecertificeerde Java community. Deze bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Aval en de Nationale Politie. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We

Bekijk vacature »

Fullstack Developer

Functieomschrijving Heb je kort geleden jouw HBO diploma ICT development behaald? Of zit je nog aan het begin van je carrière en heb je affiniteit met C#.NET? Voor een erkende werkgever in de omgeving van Oosterhout zijn wij op zoek naar een fullstack developer. Als C#.NET developer werk je samen met een vooruitstrevend team aan het ontwikkelen van maatwerk software voor klanten. Je hebt affiniteit met SQL, maar nog belangrijker is dat je kennis en ervaring hebt met C#.NET. Jouw werkzaamheden zien er als volgt uit: Het ontwikkelen van onze high-availability en high-performance backend; Je begint de dag rond 8:30

Bekijk vacature »
Daan Vee

Daan Vee

06/04/2018 10:12:03
Quote Anchor link
Ik wil in een tekst die uit de database gevist wordt speciale karakters omzetten voor een rtf-bestand.

Nu schrijf ik bijvoorbeeld: In Israël heeft Hamid familie.
Als ik in mijn database kijk, wordt dat opgeslagen als: In Israël heeft Hamid familie.

Nu komt de vraag. Ik gebruik al de volgende code voor het omzetten van spaties:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$html = preg_replace("/ /",' ',$html);


Mocht ik die e met puntjes om willen zetten van ë naar \'eb
Hoe zorg ik er dan voor dat mijn code niet met het teken ' in de knoei komt?
 
PHP hulp

PHP hulp

23/12/2024 05:14:26
 
Jan te Pas

Jan te Pas

06/04/2018 10:34:03
Quote Anchor link
Vragen: staat jouw database codering goed ingesteld? En jouw htmlpagina?
Kijk hier even voor een basis. Want de e umlaut kan gewoon gebruikt worden, :http://www.atto.nl/utf8/index.php
 
Ivo P

Ivo P

06/04/2018 10:45:04
Quote Anchor link
Daan Vee op 06/04/2018 10:12:03:
Als ik in mijn database kijk, wordt dat opgeslagen als: In Israël heeft Hamid familie.


Dan gaat het daar dus al mis: je vervormt je invoer kennelijk al bij het opslaan. Dat is nergens voor nodig en zoals nu blijkt, onwenselijk.

je gebruikt dus kennelijk als een soort escaping htmlentities() bij je insert-query. Haal dat weg, en in je database zal gewoon ë komen ipv. ë

(daarbij kan het wel van belang zijn, om overal dezelfde karakterset te gebruiken)



Toevoeging op 06/04/2018 11:00:25:

en dan kun je de karaktercode van de ë gebruiken om de juiste (hex) waarde te vinden:

ord() werkt alleen bij ascii code. Hier zul je waarschijnlijk mb_ord() nodig hebben.
Dat zou dan 00eb moeten leveren.

alternatief: mogelijk kun je middels html_entities() met de juiste flags op ë uitkomen
http://www.fileformat.info/info/unicode/char/eb/index.htm

ik zou niet gaan voor een letter voor letter omzetting, want dan heb je naast ë ook é en è en zelfs ê. En dat ook voor de o a en u.
Maar dan mis je nog de ñ en ç
en dan blijf je bezig
 
Daan Vee

Daan Vee

06/04/2018 11:01:35
Quote Anchor link
Dank alvast!

Wat nu nog overblijft is dat ik die ë nog moet omzetten naar: \'eb
Hoe doe ik dat met die preg_replace?
 
Jan te Pas

Jan te Pas

06/04/2018 11:15:52
Quote Anchor link
probeer eens: str_replace( 'ë','ë' , $tekst);
 
Daan Vee

Daan Vee

06/04/2018 11:24:20
Quote Anchor link
Ik zie wat er fout gaat. Op het moment van opslaan gebeurt er dit met de tekst:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$content = mysqli_real_escape_string($conn, $_POST['content']);


Daardoor komt er ë in de database te staan in plaats van een e met puntjes.
Als ik het volgende gebruik gaat het wel goed en komt er een e met puntjes in de database:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$content = $_POST['content']


Maar ik wil wel een real_escape_string-achtig iets houden, om te zorgen dat er geen errors kunnen komen als mensen ' en " gebruiken.
Hoe kan ik daarvoor zorgen?



Toevoeging op 06/04/2018 12:06:24:

Ivo P: het moet met php van UTF-8 omgezet worden naar het formaat dat gebruikt wordt in een RTF-bestand (ASCII dacht ik). Weet jij hoe dat heet? Dan zouden de karakters juist omgezet zijn lijkt me.
 
Ivo P

Ivo P

06/04/2018 12:08:17
Quote Anchor link
Daan Vee op 06/04/2018 11:24:20:
Daardoor komt er ë in de database te staan in plaats van een e met puntjes.


Dan heb jij een hele rare versie van php.
mysqli_real_escape_string moet iets doen met quotes: ' naar \' om het simpel te zeggen.

ë naar ë komt door htmlentities()


Toevoeging op 06/04/2018 12:13:45:

een voorbeeldje dat ik vond:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$str
= "ë";

echo preg_replace('/[^!-%\x27-;=?-~ ]/e', 'ord("$0")', html_entity_decode($str));
?>


Levert dat 235 op bij jou?
Tëst zou volgens mijn editor naar rtf vertalen als: T\u235\'ebst

Dan zou je de 235 achter \u kunnen plaatsen. En eb is de hex- presentatie van 235.
 
Daan Vee

Daan Vee

06/04/2018 13:06:35
Quote Anchor link
Even concreet: ik werk met php7.
De ë komt nu goed in de database.

Vervolgens:
Ik wil de ë uit de database kunnen halen en omzetten naar een ë die RTF leest.
Welke code gebruik ik daarvoor? Ik wil niet per letter alles moeten omzetten.

NB: Als ik het rtf-bestand open in bijvoorbeeld dreamwaever en de code uitlees zie ik \'eb staan op de plek van de ë.
Gewijzigd op 06/04/2018 13:39:16 door Daan Vee
 
Ivo P

Ivo P

06/04/2018 14:20:58
Quote Anchor link
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
<?php
$string
= "Tëst";

for($i=0;$i<mb_strlen($string);$i++) {

   $str = mb_substr($string, $i,1);
   echo  preg_replace_callback(
              '/[^A-Za-z!-%\x27-;=?-~ ]/u',
              function(
$matches) {
                  $chnr =  mb_ord($matches[0]);
                  $out = '\\u'.$chnr . '\\\''. dechex($chnr);

                  return $out;
              },

              $str);
}


echo PHP_EOL;
?>


Toevoeging op 06/04/2018 14:22:03:

dit levert
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
T\u235\'ebst


als output, wat volgens mijn editor eruit zou moeten komen. Uit je vraag begrijp ik dat jij die \u235 niet zoekt
 
Thomas van den Heuvel

Thomas van den Heuvel

06/04/2018 16:03:27
Quote Anchor link
Daan Vee op 06/04/2018 11:24:20:
Ik zie wat er fout gaat. Op het moment van opslaan gebeurt er dit met de tekst:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$content = mysqli_real_escape_string($conn, $_POST['content']);


Daardoor komt er &euml; in de database te staan in plaats van een e met puntjes.


Dat lijkt mij niet, nee. De enige redenen die ik kan bedenken dat &euml; in je database terecht komt zijn:
- iemand heeft letterlijk "&euml;" ingevuld in plaats van "ë"
- er wordt ergens htmlentities() over $_POST heengehaald, mogelijk in een "sanitize-functie" die veel te veel werk verzet

Dit laatste heet ook wel escape-on-input. Je geeft zelf een mooi voorbeeld waarom dat geen goede aanpak is: op het moment dat je de data in je database in een ander formaat dan HTML moet stoppen moet je al deze HTML-specifieke vertalingen weer ongedaan maken. Daarom is het verstandiger om de data zo rauw/ongewijzigd mogelijk in je database te stoppen. Hier heeft real_escape_string() niets mee te maken, dit zorgt er (maar toch alleen in combinatie met quotes) voor dat ingevoerde DATA niet wordt geïnterpreteerd wordt als SQL, en dat is weer handig als je SQL-injectie wilt voorkomen.
 
Daan Vee

Daan Vee

06/04/2018 16:18:46
Quote Anchor link
Het lag eraan dat het tekstveld werkte met een wysiwyg editor. Daardoor kwam de e met trema anders in de database. Dat is nu opgelost.

Zoek alleen nog de omzetting naar rtf-code via PHP....
 
Ivo P

Ivo P

06/04/2018 16:19:46
Quote Anchor link
zie mijn post een stukje hierboven.

mb_ord() is wel een functie die pas kort in PHP zit.
 
Daan Vee

Daan Vee

06/04/2018 18:37:38
Quote Anchor link
Ik heb nu:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$html = "De tekst uit de database met  en dat soort letters.";
mb_ord($html);


Maar $html wordt alsnog uitgespuugd als een ë en niet als \u235\'eb of iets dergelijks....
Doe ik iets fout?
 
Ben van Velzen

Ben van Velzen

06/04/2018 22:42:15
Quote Anchor link
mb_ord geeft een code point terug van een enkel teken, niet van een hele string als ik het goed heb. Uiteraard zul je de return value ook moeten gebruiken, en niet alleen simpelweg aanroepen.
Gewijzigd op 06/04/2018 22:43:41 door Ben van Velzen
 
Thomas van den Heuvel

Thomas van den Heuvel

06/04/2018 22:42:33
Quote Anchor link
Ik zou in eerste instantie werken met een test-tekst in een PHP-bestand (die je als UTF-8 opslaat uiteraard). Op die manier voorkom je mogelijke extra complicaties met vertaalstappen van en naar je database.

Nu wil je teveel tegelijkertijd - deel dit soort zaken op in deelproblemen. Zorg eerst dat het werkt met een statische test-tekst, en voeg dan pas het database-gedeelte toe, waarbij de test-tekst uit de database komt. Hiermee creëer je een stuk meer overzicht voor jezelf en voor de kijkers thuis, want het is nu volstrekt onduidelijk wat er allemaal op de achtergrond gebeurt.
 
Daan Vee

Daan Vee

07/04/2018 10:24:51
Quote Anchor link
Thomas,

Ik gebruik nu:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$string
= "Dit is een voorbeeld met een ë enzo.";
utf8_encode($string);
?>


Daar komt dus utf8 uit lijkt me.
Hoe kan ik nu in een keer die hele zin omzetten geschikt voor rtf-bestanden? Want ik wil niet per karakter gaan werken.
 
Ben van Velzen

Ben van Velzen

07/04/2018 11:20:04
Quote Anchor link
RTF is UTF-16 en niet UTF-8. Een voorbeeld van hoe je het zou kunnen doen kun je hier vinden: https://spin.atomicobject.com/2010/08/25/rendering-utf8-characters-in-rich-text-format-with-php/
 
Thomas van den Heuvel

Thomas van den Heuvel

07/04/2018 16:04:10
Quote Anchor link
Daan Vee op 07/04/2018 10:24:51:
Ik gebruik nu:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$string
= "Dit is een voorbeeld met een ë enzo.";
utf8_encode($string);
?>

Daar komt dus utf8 uit lijkt me.

Nee, niet per se. Het hangt er maar helemaal vanaf hoe het bronbestand waarin die code staat is opgeslagen. Als het bronbestand opgeslagen was als UTF-8 dan leidt utf8_encode() tot een dubbele encodering.

Oh, misschien is het resultaat wel "UTF-8", maar dat kan ook inhouden dat $string door de vleesmolen gaat en hier onleesbare tekst uitrolt.

Alle vormen van tekst hebben een character encoding, zo ook jouw bronbestand. utf8_encode() gaat ook uit van een bepaalde encodering: ISO-8859-1.
 
Paul Ulje

Paul Ulje

07/04/2018 16:40:15
Quote Anchor link
Na jaren van MySQLgebruik volgens de standaard instellingen van mijn hostingprovider, bleek na een veiligheidsupdate de karaktercodering fout te gaan. Dankzij de hulp van dit forum (Thomas dacht ik) ben ik uiteindelijk uitgekomen op:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
function openDB($table = DB_NAME) {
    $db = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, $table);
    $db->set_charset('latin1');
    $db->query("SET collation_connection = latin1_swedish_ci");
    return $db;
}


Dus expliceit aangeven wat de karaktercodering moet zijn.
Bij jou misschien een andere karakterdefinitie.
Een schone string met speciale karakters als ë â õ of schrijf ik weg zonder poespas.
Verder geen gerommel met escaping, html-entities of wat dan ook.
PHPAdmin laat ze netje zien.
En het uitlezen geeft direct in HTML het karakter zoals het bedoeld is.
 



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.