Emoji
Beste,
Ik ben bezig met een script waar mensen berichten achter kunnen laten. Dit bericht gaat de database in en wordt op de pagina weer weergegeven.
Nu kun je met je Iphone emoji gebruiken, deze worden in database op een rare manier ingevuld, maar worden wel weer gegeven op de website. Alleen als ik deze emoji nu wil gebruiken in fPDF krijg ik rara tekens, zoals ik ze zelf ook in de database zie. â¤ï¸ dit is een hartje, maar als ik online zoek op â¤ï¸ vindt ik niet terug hoe dit nu op gebouw is.... Ben een beetje moedeloos geworden er van.
Wie heeft er tips, en of wat ik kan doen om dit goed te krijgen?
Ik ben bezig met een script waar mensen berichten achter kunnen laten. Dit bericht gaat de database in en wordt op de pagina weer weergegeven.
Nu kun je met je Iphone emoji gebruiken, deze worden in database op een rare manier ingevuld, maar worden wel weer gegeven op de website. Alleen als ik deze emoji nu wil gebruiken in fPDF krijg ik rara tekens, zoals ik ze zelf ook in de database zie. â¤ï¸ dit is een hartje, maar als ik online zoek op â¤ï¸ vindt ik niet terug hoe dit nu op gebouw is.... Ben een beetje moedeloos geworden er van.
Wie heeft er tips, en of wat ik kan doen om dit goed te krijgen?
Emoji's zijn UTF-8 karakters.
Als deze inderdaad zo in de database staan opgeslagen zal je character set geen UTF-8 zijn, standaard is dit namelijk "latin1_swedish_ci".
Het database schema aanpassen zodat de character set UTF-8 (utf8mb4) is zou het moeten verhelpen.
Als deze inderdaad zo in de database staan opgeslagen zal je character set geen UTF-8 zijn, standaard is dit namelijk "latin1_swedish_ci".
Het database schema aanpassen zodat de character set UTF-8 (utf8mb4) is zou het moeten verhelpen.
oke, maar ik heb dan utf8mb4 met nog van alles er achter utf8mb4_******
Welke moet ik dan nemen?
Toevoeging op 06/04/2021 10:31:55:
Welke moet ik dan nemen?
Toevoeging op 06/04/2021 10:31:55:
Jolly Janssen op 06/04/2021 10:26:15:
oke, maar ik heb dan utf8mb4 met nog van alles er achter utf8mb4_******
Welke moet ik dan nemen? en welk type is is juist? of maakt dat niet uit? TEXT of....
Welke moet ik dan nemen? en welk type is is juist? of maakt dat niet uit? TEXT of....
Zoals met zoveel: dat ligt er aan.
Een goede beschrijving staat in dit StackOverflow answer.
Ik ga meestal voor "utf8mb4_unicode_ci", dat geeft de meest universele regels.
Het gaat om de character encoding van de database niet die van de kolom, het type is irrelevant.
Een goede beschrijving staat in dit StackOverflow answer.
Ik ga meestal voor "utf8mb4_unicode_ci", dat geeft de meest universele regels.
Het gaat om de character encoding van de database niet die van de kolom, het type is irrelevant.
Het veld-type is niet van toepassing of je emoji's wilt gebruiken (mits het een text-veld is).
Als je meer wilt weten over UTF-8, lees dan dit artikel van Thomas van der Heuvel:
http://fangorn.thijma.nl/news/latin1-vs-utf8
Ook op PHPhulp heeft hij een hoop waardevolle posts hierover geplaatst. Ik zal straks eens zoeken.
Ik heb hem al een poosje hier niet meer gezien... ?
Als je meer wilt weten over UTF-8, lees dan dit artikel van Thomas van der Heuvel:
http://fangorn.thijma.nl/news/latin1-vs-utf8
Ook op PHPhulp heeft hij een hoop waardevolle posts hierover geplaatst. Ik zal straks eens zoeken.
Ik heb hem al een poosje hier niet meer gezien... ?
Gewijzigd op 06/04/2021 10:41:10 door - Ariën -
Ik had deze dingen al geprobeerd, nu nogmaals maar lukt me van geen meter.
Als ik het weg laat schrijven in een .txt bestand, dan zie ik de emoticon wel goed.
:(
Als ik het weg laat schrijven in een .txt bestand, dan zie ik de emoticon wel goed.
:(
Wat heb je geprobeerd? En waar heb je je UTF-8 allemaal op ingesteld?
Ik heb utf8mb4_unicode_ci ingesteld bij de kolom, bij handelingen>Collatie en als ik op de table zelf klik en dan handelingen bij Collatie en dan incl. Wijzig alle tabelcollaties
Het kan zijn dat je in PHP ook even moet vertellen dat er gebruik gemaakt moet worden van UTF-8:
Ik ga hier voor het gemak even uit van de mysqli library, als je PDO gebruikt moet je het in je connection string oplossen:
Aangezien het in een textfile wel goed gaat neem ik aan dat de default charset van PHP wel UTF-8 is.
Heb je de database ook op UTF-8 gezet of alleen de table en de kolom?
Code (php)
1
2
3
4
2
3
4
// MySQL connectie opzetten
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
// Characterset instellen
$mysqli->set_charset("utf8")
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
// Characterset instellen
$mysqli->set_charset("utf8")
Ik ga hier voor het gemak even uit van de mysqli library, als je PDO gebruikt moet je het in je connection string oplossen:
Quote:
"mysql:host=$host;dbname=$db;charset=utf8"
Aangezien het in een textfile wel goed gaat neem ik aan dat de default charset van PHP wel UTF-8 is.
Heb je de database ook op UTF-8 gezet of alleen de table en de kolom?
Maar heb je ook utf-8 als header en meta-tag ingesteld?
En zijn je bestanden ook voorzien van de UTF-8 character-encoding?
Daarnaast moet je ook je database meegeven dat je UTF-8 gebruikt.
Als alles overeenkomst zal alles vlekkeloos moeten werken.
En zijn je bestanden ook voorzien van de UTF-8 character-encoding?
Daarnaast moet je ook je database meegeven dat je UTF-8 gebruikt.
Als alles overeenkomst zal alles vlekkeloos moeten werken.
Gewijzigd op 06/04/2021 12:00:21 door - Ariën -
Je moet zelf eerst gewoon je huiswerk doen, en je script helemaal Unicode maken.
Hoe je dat kunt doen staat hier:
https://www.phphulp.nl/php/tutorial/php-algemeen/unicode-enzo/831/
Hoe je dat kunt doen staat hier:
https://www.phphulp.nl/php/tutorial/php-algemeen/unicode-enzo/831/




