Encoding problemen (what else)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Manager Analytics & Applied AI

(Senior) Manager Analytics & Applied AI Want to help customers make sense of their data? To help them convert data, to information and to actionable insights? Do you get energized of applying the latest artificial intelligence technology based on the Microsoft platform, to help customers in their digital transformation journey and to create a competitive advantage? Then this is the job you’ve been waiting for! Your Job As a (Sr) Manager Analytics & Applied AI in the Accenture Microsoft Business Group (AMBG), you’ll play a key role as a business advisor in discovering, describing, co-creating and scaling a customer’s Data

Bekijk vacature »

Microsoft BI ontwikkelaar binnen de financiël

Functieomschrijving Je gaat je als interne BI Specialist/Ontwikkelaar bezighouden met het doorontwikkelen/onderhouden van de Datawarehouse binnen een Devops/Scrum omgeving en het verbeteren van functionaliteiten voor interne klanten. Naast de Datawarehouse werkzaamheden ben jij tevens de specialist op het gebied van Microsoft SQL Server (SSIS, SSAS, SSRS, Power BI, DataVault en Dimensional modelling. Functie-eisen - Je hebt minimaal een HBO opleiding afgerond; - Je hebt minimaal 3+ jaar relevante werkervaring met een vergelijkbare functie; - Je beheerst de hele Microsoft BI Stack (SSIS, SSAS, SSRS); - Je beschikt over ruime ervaring met het programmeren van ETL processen; - Je beschikt over

Bekijk vacature »

SAP S/4HANA Finance (Senior) Manager

SAP S/4HANA Finance (Senior) Manager Are you a trusted Senior SAP Finance Advisor to the world’s leading organizations? Bring your vision to life and help our clients transform to the changing world of business by building innovative SAP Finance solutions through insight. Join our Accenture’s SAP Finance Transformation practice and transform your ideas into reality. Your job As Senior SAP Finance Advisor you will be the key player in major SAP S/4HANA (greenfield) transformation programs at our clients. In this role you will support them to connect the dots between the digital world and their core finance processes. This will

Bekijk vacature »

Software Ontwikkelaar Zorg-ICT

Wil jij met ChipSoft impact maken in de zorg met jouw technische kennis als Software Ontwikkelaar? En lijkt het jou uitdagend om innovatieve software te ontwikkelen met de laatste Microsoft-tools en technieken? Wat doe jij als Software Ontwikkelaar? Je bent verantwoordelijk voor het ontwerpen, ontwikkelen, ondersteunen en onderhouden van jouw eigen module. Dit gaat om complexe ICT-producten die feilloos moeten functioneren binnen de complexe omgeving van een zorgorganisatie. Je werkt zelfstandig of in teamverband. ChipSoft maakt gebruik van een zelf ontwikkeld multi-tier framework. Tijdens een interne opleiding brengen wij je snel bij hoe je binnen deze architectuur je ontwikkelkunsten kunt

Bekijk vacature »

Front- & backend developer (32-36 uur per week

Van scratch af helpen onze applicaties te vernieuwen?! We staan aan de vooravond van het vernieuwen van onze applicaties. Hiervoor zoeken wij een nieuw team met developers. De samenstelling varieert van starters tot doorgewinterde, ervaren senior Cloud architecten. Alle vrijheid om creativiteit met de nieuwste tools aan de slag te gaan We werken met het Angular framework voor onze front-end en Spring boot/Java voor de back-end. Onder begeleiding van de Scrum master en andere senior developers krijg je veel vrijheid om technisch uitdagingen aan te pakken en zul je ook met de andere afdelingen binnen NTS te maken hebben om

Bekijk vacature »

Software Developer / full stack / Java / Angular

Functieomschrijving Would you like to work at a company in Eindhoven on a custom application landscape, both front and backend? Does Java hold few secrets for you and are you also experienced with Javascript / Angular? Then we are looking for you! As a Software Developer, you work on both the front-end and back-end of the custom application landscape; Participate in projects in the field of system expansion, renewal and improvement; Work with Java, JEE, Spring, Angular, CI, SQL, Agile, webservices and others; Help with the translation to technical solutions and advise the organization in your field of expertise; Work

Bekijk vacature »

Medior PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops are bizarre fast and super tight. How do I become a PHP Developer at Coolblue? As a Medior PHP Developer you work together with other development teams to make our webshop work as optimally as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little C # or Javascript. Want to become an PHP Developer at Coolblue? Else will explain how to do that. You enjoy doing this Writing PHP code, but can also find your way in C

Bekijk vacature »

Fullstack PHP developer

Beschik jij over stalen zenuwen en een echte escape room mentaliteit, waarbij je het liefst in een uurtje de code kraakt en de oplossing vindt? Het IT-team van Beekman maakt waar wat we beloven: gemak, snelheid en betrouwbaarheid. We focussen sterk op vindbaarheid en als IT'er ben je verantwoordelijk voor het toegankelijk maken van informatie en het juist presenteren van grote hoeveelheden data. Zo ondersteunen we onze klant om zich volledig te focussen op zijn core business. Wat kun je van ons verwachten? Een warm welkom in een bedrijf met een familiecultuur; schuif aan bij je comfortabele zit-sta werkplek in

Bekijk vacature »

Full Stack Developer WordPress PHP

BEDRIJFSPROFIEL Onze klant bestaat al meer dan 25 jaar en is werkzaam in de communicatie en media design branche. De klant geeft inhoud en vorm aan nieuwsbrieven, social media campagnes en online marketing en zijn dagelijks bezig met het ontwerpen, programmeren en onderhouden van websites, apps en andere publicaties. Met inzet, enthousiasme en passie worden diverse projecten aangegaan. De klant beschrijft zichzelf als doelgericht, creatief, flexibel en enthousiast. FUNCTIE OMSCHRIJVING Als Full Stack Developer WordPress / PHP ben jij van A tot Z verantwoordelijk voor de projecten richting de eindklant. Samen met de Accountmanager zit jij aan tafel met verschillende

Bekijk vacature »

Software Developer / C# en .Net / Databases

Functieomschrijving Ben jij een ervaren C# .Net Developer en een echte analyticus? Haal jij voldoening uit het bouwen van Software, die aansluit op de wensen vanuit de business? Lees snel verder! Je gaat aan de slag met object oriented programming (OOP); Je bent verantwoordelijk voor een bedrijfskritische applicatie; Draag je bij aan het behalen van de bedrijfsstrategie en klanttevredenheid; Kijk je naar ontwikkelingen binnen de markt en hoe deze toegepast kunnen worden. Functie-eisen HBO werk en denk niveau; Ervaren met het ontwikkelen in C# en .Net; Kennis en ervaring hebben met het werken met een Database, voorkeur voor DB2; Ervaring

Bekijk vacature »

Full-stack Java Developer/ Web development/ 4.000

Functieomschrijving Ben jij een full-stack java developer die graag een cruciaal platform (door) ontwikkelt? Schroom jij het niet om jouw brede skillset in te zetten om verbeterslagen aan te dragen en uit te voeren? Lees dan snel verder! Bouwen van nieuwe functionaliteiten; Door ontwikkelen van de online omgeving; Bug fixing; Testen van (jouw) code, handmatig-, unit-, integratie- en browser tests. Functie-eisen Minimaal een MBO-diploma met HBO werk- en denkniveau; Minimaal 1 jaar werkervaring met Java; Kennis van frameworks zoals: Spring (MVC), Struts, Hibernate, Junit, etc.; Kennis van tooling zoals: IntelliJ, GIT, Jenkins, Gradle; Kennis van front-end technieken zoals: JavaScript, Bootstrap

Bekijk vacature »

.NET Developer / C# / miljarden berichten / Zorgse

Functieomschrijving Zit jij aan je plafond als .NET C# Developer? Wil jij de stap maken naar dé .NET software organisatie van Tilburg? Lees dan nu verder! Bedrijfsomschrijving werken bij een organisatie waar je met het volgende in aanraking komt: High-intensity dataverkeer, meer dan 2,7 miljard berichten per jaar; Development aan .NET applicaties die maandelijks miljoenen euro's verwerken; Salaris als developer tot bijna 70.000 euro op jaarbasis; Geen partij in de omgeving van Tilburg die zo'n complex .NET applicatielandschap heeft; Werken aan meer dan 50 diensten, verdeeld over 10 Scrum teams; Focus op o.a.: C# en ASP.NET in een Agile organisatie;

Bekijk vacature »

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 »

Datawarehouse Developer / Cloud omgevingen / 5.400

Functieomschrijving Ben je gedreven in het opzetten van een Datawarehouse en ETL en wil je jezelf verder ontwikkelen binnen jouw vakgebied? Heb je ernaast ook kennis van het werken in de Cloud? Lees dan snel verder! Je draagt zorg voor de verdere uitbreiding van de Datawarehouse; Het verder ontwikkelen van ETL generator op basis van de behoeften binnen het team; Meehelpen aan de migratie van Oracle naar Redshift; Proactief kijken naar verbeteringen en hierover schakelen met andere teams. Functie-eisen HBO werk- en denk niveau; Minimaal 3 tot 5 jaar werkervaring als Datawarehouse Developer; Uitgebreide kennis van ETL en bijbehorende tooling;

Bekijk vacature »

.NET Developer / Angular / React

Functieomschrijving Haal jij als .NET Developer energie uit het ontwikkelen van bedrijfskritische .NET applicaties en vind jij het ook leuk om de door jouw gebouwde .NET applicaties te beheren en door te ontwikkelen, waarmee je de kwaliteit van de .NET applicaties weet te waarborgen? Lees dan snel verder Het ontwikkelen van bedrijfskritische applicaties; Het onderhouden en beheren van de applicaties; Het uitvoeren van patches, testen, change- en incidentmanagement; Meedenken over technische ontwikkelingen; Het pro-actief aandragen van verbeteringen. Functie-eisen Hbo denk- en werkniveau; Minimaal 2 jaar ervaring met .NET; Aantoonbare ervaring met het ontwikkelen en beheer van van applicaties; Aantoonbare ervaring

Bekijk vacature »
Eric Verboven

Eric Verboven

08/08/2020 19:01:01
Quote Anchor link
Ik krijg txt-bestanden in mijn php-programma, met een file_get_contents. Ik weet eigenlijk alleen dàt het txt-bestanden zijn, niet uit welke omgeving ze afkomstig zijn. De bedoeling is dat ik (gedeelten van) die teksten toon in mijn programma. Ze moeten op hetzelfde scherm getoond worden.

Probleem: er duiken 'gekke tekens' op.

Voorbeeld:
- In de ene tekst wordt het woordje "één" (dus met tweemaal het Franse accent aigu) getoond zoals het hoort.
- In de andere tekst wordt de é met accent aigu getoond als een op een hoek staand zwart vierkantje met een wit vraagteken.

Op geen enkele plaats, niet in de html-header en ook niet in de php-code, wordt er gegoocheld met encoding. Wanneer ik mb_detect_encoding ($text) opvraag, krijg ik in beide gevallen utf-8.

Vraag: hoe krijg ik mijn ééntjes (en andere ä, ç, ü en à enz.) op een deftige manier op mijn scherm? Natuurlijk heeft het met encoding te maken. Alleen zie ik op dat vlak al lang de bomen niet meer door het bos. Bestaat daar een soort "standaard-oplossing" voor? Heeft iemand een code-voorbeeld?
Gewijzigd op 08/08/2020 20:35:32 door Eric Verboven
 
PHP hulp

PHP hulp

21/09/2020 18:09:24
 
Adoptive Solution

Adoptive Solution

08/08/2020 19:50:35
Quote Anchor link
Kijk een of dit onderwerp uitsluitsel biedt.

https://www.phphulp.nl/php/forum/topic/utf-en-vreemde-tekens/103664/
 
Eric Verboven

Eric Verboven

08/08/2020 20:44:58
Quote Anchor link
Bedankt, Adoptive Solution, maar de link die je opgaf, lost eigenlijk niks op. In de link die je opgeeft, gaat het om materiaal dat in een MySQL-database opgeslagen zit. Dat leidt tot een heel andere situatie dan de mijne. Ik werk met tekstbestanden die op schijf staan, en die ik met file_get_contents inlees - dus geen MySQL in de buurt, en ook geen MySQL-connectie-problemen of -mogelijkheden.

Wat het misschien een beetje tricky maakt, is dat het in mijn geval gaat om een vijftal (niet vooraf in te schatten) teksten, waaruit stukjes gehaald worden die gelijktijdig, dus op hetzelfde scherm, getoond moeten worden.

Heeft iemand een idee?
 
Thomas van den Heuvel

Thomas van den Heuvel

08/08/2020 21:05:58
Quote Anchor link
De principes blijven echter hetzelfde, en zolang je geen oplossing hebt lijkt het mij handig om alle opties open te houden en niet te voorbarig dingen te concluderen.

> Op geen enkele plaats, niet in de html-header en ook niet in de php-code, wordt er gegoocheld met encoding.

En hoe serveert jouw webserver jouw documenten dan? Heb je wel eens in de netwerk-tab naar de responses gekeken en welke headers deze hadden? Want volgens mij was het juist datgene wat voor de problemen zorgde in de andere thread. Stel bij voorkeur expliciet een Content-Type header in via PHP, onder vermelding van een character encoding (charset).

NB zie de eerste user comment bij mb_detect_coding():
Quote:
If you try to use mb_detect_encoding to detect whether a string is valid UTF-8, use the strict mode, it is pretty worthless otherwise.

Jij krijgt dus op dit momemt mogelijk zogenaamde false positives zonder die strict flag.

Gebruik dus mb_detect_encoding($text, mb_detect_order(), true), en converteer alles ongelijk aan UTF-8 naar UTF-8.

Je zou ook eens kunnen kijken wat mb_detect_order() teruggeeft.

Het zou natuurlijk nog een stuk handiger zijn wanneer je af kunt dwingen dat alles in een bepaald formaat wordt aangeleverd. Als je iemand alles in laat vullen in een formulier en dan in een database opslaat, dan kun je dit doel mogelijk makkelijker bereiken dan met losse tekstbestanden.
Gewijzigd op 08/08/2020 21:29:03 door Thomas van den Heuvel
 
Eric Verboven

Eric Verboven

08/08/2020 22:37:19
Quote Anchor link
He Thomas.

Je suggesties hebben vrucht opgeleverd, denk ik. Een tekst die problemen gaf, leverde eerst "utf-8" op, net als andere teksten, die géén problemen gaven. Dat was vervelend. Daarna heb ik jouw mb_detect_encoding($text, mb_detect_order(),true) uitgevoerd. Nu was het resultaat "niets", een lege string. Dat suggereerde in elk geval al dat er een verschil was tussen die lastige tekst en de andere.
Daarna heb ik op php.net een handige functie gevonden voor conversie naar utf-8. Je vindt die bij https://www.php.net/manual/en/function.utf8-encode.php#118318 onder de User Contributed Notes, op naam van een zekere pini. Met de functie die je daar vindt, anything_to_utf8 , lukt de conversie van mijn "lege encodering" naar utf-8 zonder het minste probleem, en o wonder: alles wordt zo op het eerste gezicht getoond zoals het moet, zonder gekke zwarte vierkantjes of andere ongein.
Heel erg bedankt voor het goede spoor, dus.
Toch één opmerking: encodering van teksten is een meganorme warboel, voor zover ik dat na een paar uurtjes gepriegel kan beoordelen. Ik kan die anything_to_utf8 functie wel toepassen, maar de code begrijpen doe ik voor geen jota. Maar never change a working piece of code, zegt de profeet. En nogmaals bedankt!

PS: je hebt natuurlijk gelijk met je opmerking over database-gebaseerde informatie en tekstbestanden, maar die keuze heb ik niet. Ik moet dingen tonen uit (ongestructureerde) teksten, gewoon "leesteksten", boeken, zeg maar. Ik zou ook wel met leuke formulieren en strakke MySQL-tabellen willen werken, maar dat is niet aan de orde.
Gewijzigd op 08/08/2020 22:50:31 door Eric Verboven
 
Thomas van den Heuvel

Thomas van den Heuvel

09/08/2020 00:11:55
Quote Anchor link
Hm, die anything_to_utf8() doet in principe niet zoveel. Het enige wat dit volgens mij effectief doet is indien iets niet als UTF-8 wordt geïdentificeerd, dat daar dan maar utf8_encode() overheen wordt gegooid. Maar dat zou je eigenlijk alleen met enig fatsoen kunnen/mogen doen indien de brontekst een ISO-8859-1 encodering had, want zo werkt utf8_encode() nu eenmaal.

Dit zou je natuurlijk altijd kunnen proberen indien mb_detect_encoding() niets opleverde en dan hopen dat daar iets leesbaars uitkomt, maar anders zou je eigenlijk de gedetecteerde encoding moeten gebruiken om dit met behulp van mb_convert_encoding() te converteren naar UTF-8. Maar utf8_encode() toepassen op data van een onbekende encodering blijft een gok.

Ik zou dus eerder zoiets gebruiken (niet getest, maar het principe zou duidelijk moeten zijn):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function gimme_utf8($in) {
    $encoding = mb_detect_encoding($in, mb_detect_order(), true);

    if ($encoding === 'UTF-8') {
        return $in; // this is fine
    } elseif ($encoding === false) {
        return utf8_encode($in); // your guess is as good as mine
    } else {
        return mb_convert_encoding($in, 'UTF-8', $encoding); // attempting to convert
    }
}

?>

Ik zie trouwens ook dat mijn mb_detect_order() lijst niet bijzonder lang is, hier zit enkel ASCII en UTF-8 in :p. Dus effectief doet dit waarschijnlijk hetzelfde als anything_to_utf8(), maar het bovenstaande snijdt wat mij betreft wat meer / wel hout :).
Gewijzigd op 09/08/2020 00:52:03 door Thomas van den Heuvel
 
Ad Fundum

Ad Fundum

10/08/2020 23:25:05
 



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.