Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Stel een vraag

Discussieer mee of stel een vraag

Filters - Verfijn resultaten

Topictype

Onderwerpen

AND

Subforum

Datumbereik

Topicstarter

Topicstatus

46 topics - Pagina 1 van 2

[PHP] utf-8

07-02-2013 discussie 11
Ik heb een probleem met een site die ik aan het bouwen ben. Ik wil namelijk de simpele string 'Categorien' goed renderen naar utf-8.

Wat ik heb gedaan:

In mijn index.php
PHP:

1
<?php
header('Content-type: text/html; charset=UTF-8') ;
?>

Daarnaast heb ik de meta tag toegevoegd aan mijn template:
HTML:
1
<meta http-equiv="Content-type" value="text/html; charset=UTF-8" />

In mijn php.ini
PHP:

1
<?php
default_charset = UTF-8
?>

Mijn database:
SQL:
1
2
3
CREATE DATABASE development_webshop CHARACTER SET utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT COLLATE utf8_general_ci;

ALTER TABLE translation DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Daarnaast heb ik alle verbindingsvariablen met mysql gecheckt en SET NAMES 'utf8' uitgevoerd als eerste query.

Na het opzetten probeerde ik de string categorien in te voeren in de database(via een test script in php).
PHP:

1
<?php
$d->execute("UPDATE translation SET value = 'categorien' WHERE id = 1");
?>

Wanneer ik dit bekijk in de database lijkt het allemaal goed te staan. Maar wanneer ik het daarna weer ophaal krijg ik het beroemde vraagteken.

Blijkbaar was de input string geen UTF-8. Ik heb daarna geprobeerd een bestand aan te maken met dezelfde string en deze op te slaan als UTF-8.
PHP:

1
<?php
$d->execute("UPDATE translation SET value = '" . file_get_contents('test.txt') . "' WHERE id = 1");
?>

Wederom levert mij dit hetzelfde vraagteken op. Terwijl mijn input toch wel als utf-8 opgeslagen is.

Wat werkt wel?
http://php.net/manual/en/function.utf8-encode.php

Het vreemde vind ik dat ik volgens mij een utf-8 string heb en geen latin?

[phpmyadmin] UTF-8 export gaat mis

02-10-2012 discussie 23
Ik heb hier een database met UTF-8 encoded data. Werkt allemaal prima, alleen probeer ik met PHPMyAdmin een dump te doen om die database over te zetten naar een andere server. En daar gaat het mis, het bestand dat PHPMyAdmin uitspuugt is niet UTF-8 encoded maar ANSI en bevat niet de juiste data.

Voorbeeld: Россия (Russisch voor "Rusland") wordt ¾сс¸я

Iemand enig idee hoe ik dit op kan lossen?

XML bestand notepad

04-09-2012 discussie 5
Beste Tweakers,

Het is niet mogelijk om een XML bestand via NotePad op te slaan, met encoding ANSI formaat. Wanneer ik dit bestand opslaat in ANSI formaat, en weer open dan is de Encoding weer UTF-8.

Wie kan mij helpen om dit probleem op te lossen?

Groetjes,

[PHP & SQL] Charset probleem

18-07-2012 discussie 6
Hallo Heren (& Dames)

Ik ben een website aan het ontwikkelen voor een Tsjechische klant, en zoals je misschien weet hebben die een klein beetje anders alfabet dan standaard latijns. Ik heb van alles geprobeerd en het volgende is het resultaat.

De database tabellen hebben een encoding van UTF-8 (zoals ik las dat het zou moeten zijn)

http://i47.tinypic.com/2ptdmog.jpg

Daarbij heb ik in mijn index.php (waar alle pagina's in worden geladen) het volgende staan:
PHP:

1
<?php
mysql_set_charset('utf8');
?>

Ook heb ik uiteraard de html-header ook op UTF8 gezet:
HTML:
1
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Het resultaat dat ik krijg is als volgt:

http://i45.tinypic.com/15mybma.png

De website kan dus wel de Tsjechische tekens weergeven, want dat gebeurt als ik het rechtstreeks in de html plak. Maar als het uit de lokale WAMP database komt, dan gaat er nog iets mis. Staat er toch iets verkeerd misschien? De collatie is wel overal utf8_general_ci dus ik weet niet wat er mis is.

Iemand een idee?

Probleem met character sets in Qt

13-05-2012 discussie 3
Ik probeer in Qt een webcrawler te maken. Ik gebruik nu voor dat doel een antiek powershell script, waar ik eigenlijk tegen dezelfde problemen aan liep: character sets. Dat heb ik destijds opgelost door een boel replace commands, maar dat is natuurlijk niet zo elegant.

Neem bijvoorbeeld de pagina http://configure.euro.del...;vw=classic&~lt=print. In mijn browser wordt hij correct gerenderd:
http://tweakers.net/ext/f/JGi7259tLer7rsUqQyOMb6AM/full.png

Download ik de pagina via mijn programmatje en output ik deze naar een file, dan zijn de resultaten niet zo mooi:
http://tweakers.net/ext/f/U6e0iWWBhNsXT3iZ1Gdcu4w4/full.png
datzelfde, in een hex editor:
code:
1
E2 3F AC C2 A0 37 37 38 2C 30 30

? 778,00 in latin-1 komt er dan uitrollen volgens die uitstekende converter van .oisyn. Maar ik krijg het niet voor elkaar een fatsoenlijke output te krijgen. Zelfs als ik meerdere stappen probeer (latin1 -> UTF-8 -> ...)

relevant code snippet:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void Networker::download(const charurl)
{
    QNetworkAccessManager *manager = new QNetworkAccessManager();

    connect(managerSIGNAL(finished(QNetworkReply*)),
            thisSLOT(replyFinished(QNetworkReply*)));

    manager->get(QNetworkRequest(QUrl(url)));
}


void Networker::replyFinished(QNetworkReplyreply)
{    
    QString data(reply->readAll());    // readAll geeft een QByteArray terug

//    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
//    data = codec->toUnicode(data.toStdString().c_str());

    // sla data naar file..
}

Dat uitgecommente stuk code is natuurlijk waar de conversie van het juist characterset moet gebeuren. Maar ik ben al het hele weekend bezig om uit te zoeken wlk obscuur character set er wordt gebruikt. Daar moet toch een truukje voor zijn?

MYSQL UTF-8 opgeslagen met Latin1 omzetten naar UTF-8

03-05-2012 discussie 9
Ik heb een oude website met een MYSQL-database die ik wil exporteren, maar de non-ASCII-karakters worden daarbij niet goed overgezet en ik kan maar geen manier vinden om ze goed te converteren naar UTF-8.

De oude website gebruikte UTF-8 ook als codering in zowel de database als de weergave en alle karakters worden goed weergegeven en opgeslagen.

Als ik echter in phpMyAdmin kijk zie ik dat de vreemde tekens kapot zijn ( is é etc.). Ik ben er vrij zeker van dat dit is omdat de oude website geen SET NAMES 'utf8' gebruikte en de databaseverbinding dus op Latin1 stond.

Ik heb al diverse manieren geprobeerd om de gegevens te converteren, maar deze werken niet omdat de data is UTF-8 is, waarbij ieder multibyte-karakter (van 2 bytes) is omgezet naar Latin1 en daarbij is opgsplitst in 2 karakters, omdat ze buiten de ASCII-range vallen zijn en vervolgens weer opgeslagen als twee afzonderlijke multibyte UTF-8 karakters (4 bytes totaal).

Weet iemand een manier om dit (bij voorkeur via MySQL) om te zetten naar correcte UTF-8?

Speciale karakters in URL behouden

16-01-2012 discussie 21
Als ik dit woord in een formulier invul en vervolgens submit:

skı

dan krijg ik op de target page een url als deze:

example.org/test?woord=%E7%F6s%E2k%FD

terwijl ik graag zou willen zien:

example.org/test?woord=skı

Is er een manier om die encoding van letters naar hexacodes uit te zetten? Heb al aardig wat gezocht via Google, maar kom niet verder dat encoding uitzetten niet kan, maar dat is onzin want ik zie vaak genoeg URL's met exotische karakters.

[PHP/MySQL] Probleem met charset

25-11-2011 discussie 5
Ik ben een website in diverse talen aan het maken. Als charset heb ik gekozen voor UTF-8. Dit heb ik consequent gedaan. Dus:

1. MySQL kolommen zijn UTF-8
2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
3. <?php header('Content-Type: text/html; charset=utf-8'); ?>

Als ik nu een taal als Turks toon, dan vallen er diverse tekens weg. Verander ik 2 en 3 in ISO 8859-1 of ISO 8859-15 dan werkt er veel meer, maar nog steeds niet 100%.

Ik begrijp niet wat ik verkeerd doe. In PHPmyAdmin wordt alles correct getoond. De headers staan daar op UTF-8.

De data komt overigens oorspronkelijk uit een Excelsheet. Zo is deze geimporteerd via PHPmyAdmin.

[php] Character encoding problemen php i.c.m. IE8

18-11-2011 discussie 19
Ik heb een simpel scriptje gemaakt om te controleren of alles goed gaat met mijn utf-8 encodering en merk dat het bij internetexplorer fout gaat...

In firefox & Chrome krijg ik als ik dit bestand aanroep via: test.php?test=мĺţбřę śťřňğ het volgende op het scherm:
мĺţбřę śťřňğ <- in de h1
мĺţбřę śťřňğ <- in de p

In intenet explorer 8 (en misschien ook in andere IE versies?) krijg ik bij het aanroepen van dezelfde url het volgende als output:
?�lt�?�re str�ng <- in de h1
мĺţбřę śťřňğ <- in de p

Wat gaat er mis? Vergeet ik iets? Of kan IE niet omgaan met speciale tekens in de url?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
header('Content-Type: text/html; charset=UTF-8');
$test = $_GET['test'];
?>
<!doctype html>
<html lang="nl" class="no-js">
<head>
    <meta charset="utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <title>Test</title>
</head>
<body>
    <h1><?php echo $test?></h1>
    <p>&#1084;&#314;&#355;&#1073;&#345;&#281; &#347;&#357;&#345;&#328;&#287;</p> // tweakers heeft hier andere tekens van gemaakt, maar hier stond hetzelfde als in de url
</body>
</html>

ASCII uitleg

15-11-2011 discussie 62
Hai!

Ik ben eens wat dingen aan het opzoeken over ASCII, maar ik kom er niet uit. Heb mezelf deze vragen gesteld, en de antwoorden daarop gegeven:

Wat betekend ASCII
American standard Code for Information Interchange.
Amerikaanse standaard code voor informatie uitwisseling.

Wat is ASCII

ASCII is wereldwijd geaccepteerde standaard waarin de betekenis van tekens is vastgelegd.

ASCII bestaat uit 8 bit. Alle waarden uit de ASCII tabel bestaan uit 7 bit. Bijvoorbeeld DEL: 1111111. De 8ste bit wordt gebruikt als fout detecterende code.
Waar wordt ASCII voor gebruikt?

ASCII wordt gebruikt om van binaire code om te zetten in taal wat gebruikers kunnen lezen en begrijpen.

Waarom is ASCII zo groot?
ASCII is zo groot omdat het inmiddels een wereldwijd geaccepteerde standaard is.


maar er klopt geloof ik geen zak van, en bijvoorbeeld bij "Waarom is ASCII zo groot" wat heeft ertoe bijgedragen dat ASCII tot een standaard is uitgeroepen, en niet bijvoorbeeld een andere tekenset?

Daan,
Snapt er niet veel van. :|

[PHP] Pattern Modifiers

10-11-2011 discussie 13
Hallo,

Voor een script gebruik ik preg_match_all, maar dat werkt niet op elke site, dit zou kunnen komen door UTF-8 en daarvoor zou je naar deze site(http://www.php.net/manual...cre.pattern.modifiers.php) moeten gaan en dan naar beneden scrollen naar de u (niet te verwarren met de U) voor meer informatie. Maar nu snap ik niet hoe ik de u moet gebruiken

Dit is een deel van mijn code, en $data is een variabele die gemaakt is met file_get_contents.
$titel_extract = '~<div class="title">(.+?)</div>~';
preg_match_all($titel_extract,$data,$titel, PREG_PATTERN_ORDER);

Alvast bedankt.

[Zend] Zend Form html specialchars

28-10-2011 discussie 4
Ik ben bezig met een form op te zetten die mijn data (suprise!) naar een database stuurt alleen gaat dit niet helemaal goed met special characters.
Op het moment dat mijn formData uitprint worden tekens zoals en weer gegeven als rare tekens (En werkt dit dus ook niet goed)

Een voorbeeld:
PHP:

1
2
3
4
5
6
<?php
$title = new Zend_Form_Element_Text('titleInput');
$title->setLabel('Titel:')
   ->setRequired(true)
    ->addFilter('StringTrim')
   ->addFilter('StripTags')
   ->addValidator('NotEmpty');
?>

Dan voer ik deze tekst in:
code:
1
dssad  

Als ik op het moment van de submit de formData uitprint komt dit er uit:
code:
1
2
dssad ë &#188;
// &#188; = 1/4 teken

Weet iemand waar dit fout gaat? Hebben jullie meer informatie nodig om me te helpen met dit probleem?

Oh en trouwens, de charset staat goed, in een text area met een CKEditor er in werkt wel goed

Google weer feed script utf8 probleem

11-09-2011 discussie 2
Beste mensen

Ik ben momenteel bezig met een simpele pagina die het weer op een bepaalde locatie kan ophalen d.m.v. een google feed.
nu werkt dat goed zolang ik het binnen nederland gebruik maar nu doet de siuatie zich voor dat dit voor een camping is in frankrijk. Hiervan is het probleem dat ze een frankrijk vele tekens gebruiken die niet utf-8 zijn.

dus ik heb al even eraan gezeten en het werkt inmiddels wel maar ik blijf vreemde tekens behouden.
weet iemand hier een oplossing voor?

script
PHP:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?

function writeln($string)
{
    echo "{$string}\r\n";
}

function convert($temp)
{
    // Converting Fahrenheit To Celsius, vice versa
    global $config;
    $temperature = $temp;

    ifstrtoupper($config['base-temp-unit']) == 'F' && strtoupper($config['display-temp-unit']) == 'C' )
    {
        // Converting Fahrenheit To Celsius
        $temperature = round((5/9)*($temp-32));
    }
    ifstrtoupper($config['base-temp-unit']) == 'C' && strtoupper($config['display-temp-unit']) == 'F' )
    {
        // Converting Celsius to Fahrenheit
        $temperature = round((9/5)*$temp+32);
    }
   
    return $temperature;
}

$url = "http://www.google.com";
$location = "crecy%20la%20chapelle,france";
$language"fr";
$weather_url = "{$url}/ig/api?weather={$location}&hl={$language}[b]&ie=utf-8&oe=utf-8[/b]";

$config['base-temp-unit'] = 'F'// F=Fahrenheit, C=Celsius
$config['display-temp-unit'] = 'C'// F=Fahrenheit, C=Celsius

if$xmlData = file_get_contents($weather_url) )
{
    [b]$xml = new SimpleXMLElement($xmlData);[/b]
   
    $eol = "\r\n";
   
    // Display basic information
    writeln("<div id='basic_info'>");
    writeln("  <b>Basic Information</b><br/>");
    writeln("  City : {$xml->weather->forecast_information->city->attributes()}<br/>");
    writeln("  Date : {$xml->weather->forecast_information->forecast_date->attributes()}<br/>");
    writeln("  Time : {$xml->weather->forecast_information->current_date_time->attributes()}<br/>");
    writeln("</div>");
   
    writeln("<br/>");
    // Display current information
    writeln("<div id='current'>");
    writeln("  <b>Current Information</b><br/>");
    writeln("  Temperature : {$xml->weather->current_conditions->temp_c->attributes()} F / {$xml->weather->current_conditions->temp_c->attributes()} C<br/>");
    writeln("  {$xml->weather->current_conditions->humidity->attributes()}<br/>");
    writeln("  {$xml->weather->current_conditions->wind_condition->attributes()}<br/>");
    writeln("  <img src='{$url}{$xml->weather->current_conditions->icon->attributes()}'><br/>");
    writeln("  {$xml->weather->current_conditions->condition->attributes()}<br/>");
    writeln("</div>");
   
    writeln("<br/>");
   
    writeln("<div id='forecast'>");
    writeln("  <b>Forecasts - Next ".count($xml->weather->forecast_conditions)." days</b>");
    writeln("</div>");

    foreach$xml->weather->forecast_conditions as $i => $result )
    {
        // Display forecasts (next 4 days)
        writeln("<div id='forecast_{$i}'>");
        writeln("  Day : {$result->day_of_week->attributes()}<br/>");
        writeln("  Low : ".convert($result->low->attributes())." ".strtoupper($config['display-temp-unit'])."<br/>");
        writeln("  Hi : ".convert($result->high->attributes())." ".strtoupper($config['display-temp-unit'])."<br/>");
        writeln("  <img src='{$url}{$result->icon->attributes()}'><br/>");
        writeln("  {$result->condition->attributes()}<br/>");
        writeln("</div>");
       
        writeln("<br/>");
    }
}
?>

[HTML] Charset probleem (Turkse karakters)

10-09-2011 discussie 7
Ergens gaat het mis met de charset.

Charset:
code:
1
2
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<meta http-equiv="Content-Language" content="tr" />

Tekst is opgeslagen in mijn MySQL database, collatie:
code:
1
utf8_turkish_ci

Echter zie ik vraagtekens bij Turkse karakters:
quote:
uyanmış
uyanm??
Terwijl ik in de database wel de juiste letters/karakters kan zien.

UTF-8 als charset laat ook vraagtekens zien.

[HTML] Charset lijkt niet te werken

05-09-2011 discussie 18
Misschien simpel voor sommigen, maar op dit moment zit ik met een website waarbij de aangegeven charset niet lijkt te werken. Op het eerste zicht lijkt het simpel: je declareert gewoon de charset in de meta. Dat is dan ook gebeurd:
code:
1
<meta http-equiv="Content-Type" content="text/html; charset="utf-8">

Dit lijkt echter niet te werken, zowel bij tekst die gewoon neergeschreven staat in het bestand zelf (extensie .php) als bij tekst die opgehaald wordt uit de database. Een kleine nuance: de charset UTF8 wordt gebruikt door de MySQL tabellen en data weggeschreven naar de database vanuit een formulier krijgt de charset UTF8 mee. Wanneer ik dus de data in de tabellen ga bekijken staat het er gewoon correct in, zonder rare tekens.

Echter krijg ik gevallen zoals onderstaande bij het bekijken van pagina's met en zonder ingeladen data uit de database:
code:
1
2
n = één
officile = officiële

Na een zoekopdracht op GoT kwam ik uit op een topic waar stond dat de HTTP headers bekeken moesten worden om daar na te gaan welke charset gebruikt wordt. Dit heb ik gedaan en de meegegeven charsets zijn ISO-8859-1 en utf-8.

Hierbij dien ik wel te zeggen dat de elementen die op de hoofdpagina aanwezig zijn ingeladen worden via een php include zodat ik een link bekom als index.php?pag=pagina. Dit zou normaal niet veel mogen veranderen. Als ik gewoon een bestand inlaad met een lap tekst binnen een div, dan wordt dat gewoon opgenomen als een deel van index.php. Hierbij worden geen nieuwe html/head/body elementen ingeladen!

Enige hulp om dit euvel te verhelpen is welkom :)

[HTML] YouTube vage karakters in titel

21-07-2011 discussie 10
Heeft iemand enig idee waarom YouTube haar titels als volgt uitspuugt:
HTML:
1
2
3
4
<title>
    &#x202a;The Most Random Video on Youtube EVER!!!&#x202c;&rlm;
  - YouTube
</title>

:?

Kies een willekeurige video op YouTube en doe dan view source. Je ziet de &#x202a; voor de titel en de &#x202c;&rlm; na de titel? Nou, daar gaat 't nu even om hier. Ook bij eigen video's, waarvan ik dus zelf de titel heb ingevuld, zie ik dit. Even "uitgeschreven" ziet 't er zo uit:
pseudounicode:
1
2
3
4
<title>
    {Left-To-Right Embedding}...Titel hier...{Pop Directional Formatting}{Right-To-Left Mark}
  - YouTube
</title>

Alle titles (voor zover mijn steekproeven reiken natuurlijk :+ ) zijn op deze manier gencodeerd.

Ik zie wel wat Left-to-right, right-to-left en directional formatting gaande, mogelijk voor support van Arabisch of andere RTL schriften e.d., maar het doel voor "normale LTR titels" ontgaat me. Ik vermoed dat iemand bij YouTube de bal heeft laten vallen hier :? Then again; ze zijn daar ook niet gek :+

Sterker: Dit lijkt, voor zover ik kan zien, te zijn ontstaan op (of rond) 2011-07-14 (of mogelijk al de 13e). Van 2011-07-01 tot 2011-07-12 was het Youtube - &#x202a;<titel hier>&#x202c;&rlm; en voor 2011-07-01 was 't "gewoon" YouTube - <titel hier>

Ik ben gewoon nieuwschierig waarom ze dit (als het de bedoeling is en geen bug) zouden doen. Deze karakters zijn non-printable en ze zijn me dus tot op heden domweg gewoon niet opgevallen totdat ik toevallig pas bezig was met een hex-editor op een dump van wat data waarna ik bij YouTube ging kijken wat er loos was.

Ik vraag me ook af, maar dat zal wel met verschillende browsers en support voor bepaalde entities te maken hebben, waarom ze de ene keer hex entities gebruiken (&#x202a; en &#0x202c;) en de andere keer named entities (&rlm;).

Het enige dat ik kon vinden over deze specifieke karakter(combinatie) was deze vraag, maar de antwoorden gaan dan fijn uitleggen wat entities zijn en doen (d'uh) maar ik kan geen verklaring vinden waar deze karakters vandaan zouden kunnen komen en als ze bewust zijn wat er dan het nut van is ofwel: waarom YouTube dit zou doen.

offtopic:
Dezelfde vraag heb ik op SO gesteld O-) in het Dunglish :P waar mijn topic question gesloten is :( Bastards :+ Blij dat 't hier een discussieforum is i.p.v. een dumpbak :Y)
Dit heb ik gedaan zodat ik een linkje met de tekst-en-uitleg bij YouTube kon neerleggen i.p.v. heel omslachtig in "ASCII" een bugreport indienen (onderaan de pagina: report a bug) zonder linkjes of een idee te hebben of &amp; en andere entities aan "hun kant" wel of niet escaped worden etc. Ik verwacht dat ze niet erg hard lopen voor nederlandstalige bugreports, anders kregen ze wel een link naar dit topic :P Ik heb 't dus wl bij YT (ook) al aangekaart, maar verwacht van hun niet al te snel al een antwoord.

(en , , , etc) wordt weergegeven als é

13-07-2011 discussie 7
Als ik op dit probleem zoek krijg ik duizenden hits over mensen die dit probleem hebben bij het maken van websites of het versturen van mail met outlook.

Ik heb juist het probleem dat ik het met ontvangen mails heb. elke letter met een accent wordt in outlook weergegeven als é. Afgaande op wat ik over dit probleem kon terugvinden zou het probleem waarschijnlijk bij de afzenders van de mail liggen. Maar nou valt me op dat ook ondertitels in films en series hetzelfde doen. Dus begin ik nu te denken dat er op mijn pc iets niet klopt.

Bij landinstellingen kon ik niets vinden wat er mee te maken heeft.

Outlook is versie 2010
Windows 7 64 bit (NL)

[asp.net] Vreemde tekens is querystring

11-06-2011 discussie 18
Als ik een request.querystring opvraag met bijvoorbeeld 'Jalapeo' als querystring, dan krijg ik 'Jalape�o' als resultaat.

Ik heb al urlencode/decode geprobeerd, en <globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" /> in mijn web.config, maar dat gaf niet het gewenste resultaat.

Dat laatste werkte wel in combinatie met 'COLLATE SQL_Latin1_General_Cp850_CI_AI' in mijn SQL, de juiste data werd gevonden in de database, maar nog steeds krijg ik 'Jalape�o' als ik de string in bijvoorbeeld een label plaats, of textbox.

Ik wil dus dat mijn website 'Jalapeo' laat zien, en dat de database de juiste data kan vinden...

Met Google kom ik niet verder omdat ik niet de juiste zoektermen kan verzinnen in het engels...

edit:


Het gaat om de volgende website zodat je gelijk kan zien wat ik bedoel:

*snip*

[Oracle] Omzetten diakrieten

27-05-2011 discussie 27
Met mijn probleem ben ik al redelijk lang bezig.

Ik haal een naam uit een Oracle 10 database (NLS_CHARSET= AL32UTF8). In die naam zitten diakrieten, alleen die staan op een rare manier in de database: Krickovic ipv Kričković bijvoorbeeld.
Het eerste rare teken voor de letter c is een en heeft ascii-waarde 50063 . Inmiddels ben ik er wel achter dat het een multibyte teken is. Maar dan... Ik moet iets doen met dat multibyte teken en de letter 'c' om er weer een č van de maken.
Ik mag niets in en aan de database wijzigen overigens.

Veel gezocht op internet, dba'ers gevraagd en ben veel termen tegengekomen die ik in wat testjes heb gebruikt (asciistr, unistr, substrb, utl_i18n etc).
Maar de gedachte die ik heb werkt dus niet: oracle maakt tijdens het opslaan van n karakter twee karakters -> voeg ze samen en je hebt weer het originele karakter.

Is er iemand die hier ervaring mee heeft en me een klein beetje in de goede richting kan helpen?

Euroteken wordt o.a. niet goed weergeven op sommige sites

16-05-2011 discussie 13
Ik heb een aantal webshops. Dit zijn op zichzelf staande sites (IIS), echter delen 1 MySQL database.

Nu heb ik op 2 van de 5 sites een probleem met het weergeven van o.a. het Euro teken.

Dit Euroteken wordt d.m.v. het CMS ingevoerd in een tekstveld. Dus geen HTML code, gewoon het Euro teken d.m.v. <ALT><CTRL> 5.

Op 2 sites wordt het Euro teken zo weergegeven: ‚

Op de andere sites wordt het Euro teken wel goed getoond.

De bestanden tussen de sites zijn nagenoeg gelijk. Ze maken gebruik van 1 en dezelfde database, dus daar kan het ook niet inzitten.

Iemand een idee ?

[PHP] character encoding ingelezen RSS feed

11-04-2011 discussie 11
Aangezien ik graag het voetbalnieuws volg, maar niet elke keer alle voetbalsites wil bezoeken heb ik in PHP d.m.v. SimpleXML een scriptje gemaakt die de RSS feeds van een aantal sites inleest en dat nieuws verzameld.

Om het "gebruikelijke" charset probleem te ontlopen heb ik mezelf aangeleerd om altijd alles in UTF8 te doen, hiervoor doorloop ik de volgende stappen (voor de volledigheid het geheel, maar het gaat al bij stap 1 mis):

De data uit de rss gaat uiteindelijk door de volgende check:
PHP:

1
2
<?php
if (mb_detect_encoding($s"UTF-8"true) != "UTF-8")
        $s = utf8_encode($s);
?>

In de database staan alle velden op utf8_unicode_ci.

De uiteindelijke pagina voorzie ik van UTF8 door zowel de header mee te sturen:
PHP:

1
<?php
header("Content-type: text/html; charset=utf-8");
?>

...als in de meta-tags:
HTML:
1
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

De pagina geeft dan ook netjes de juiste "Tekenset", te weten utf8.

Nu gaat het echter al mis bij het plaatsen van de data in de database, de gebruikelijke "vreemde" tekens verschijnen al, dingen als: . Daarom ben ik gaan kijken wat bovenstaande check in php oplevert, maar die geeft keurig elke keer UTF-8 terug, dus:
code:
1
echo 'mb_detect_encoding($s, "UTF-8", true):' . mb_detect_encoding($s, "UTF-8", true);

geeft:
code:
1
mb_detect_encoding($s, "UTF-8", true): UTF-8

Een voorbeeld van de bron waar het mis gaat is deze. De browser geeft als "Tekenset" UTF-8 maar in de xml staat:
XML:
1
<?xml version="1.0" encoding="ISO-8859-1" ?>

Kortom, het lijkt alsof die data niet UTF8 is, maar waarom vertelt mb_detect_encoding mij dan van wel?

Inmiddels ben ik zo week in de paasei geworden van dit probleem 8)7 |:( :F , dat ik even een zetje in de goede richting nodig heb. Wie heeft de gouden tip?

[MySQL + PHP] Vreemde tekens in veld

13-12-2010 discussie 19
Ik zit met de volgende situatie.

In een oude webapplicatie werd een Japanse zit zoals : " 緑色の矢印ボタンをクリックして次の質問に進んでください。" opgeslagen als "½“‚’どの‚ˆ†に”–„™べき¨てƒˆで™‹¼".

Vervolgens wordt het uit de database gehaald en in de browser weergegeven als " 緑色の矢印ボタンをクリックして次の質問に進んでください。".

Bij het opslaan in de oude applicatie wordt het volgende met de string gedaan:
PHP:

1
2
<?php
if (get_magic_quotes_gpc()) $waarde = stripslashes($waarde);
            $waarde = MySQLi::real_escape_string($waarde);
?>

In de nieuwe webapplicatie gebruiken we Propel, het enige bijzondere wat hij doet is "SET NAMES utf8". En het gebruiken van prepared statements.

De nieuwe applicatie slaat een zin als "緑色の矢印ボタンをクリックして次の質問に進んでください。" op als "緑色の矢印ボタンをクリックして次の質問に進んでください。" (dus hetzelfde).

Nu komt het probleem. De nieuwe applicatie laat een zin als "½“‚’どの‚ˆ†に”–„™べき¨てƒˆで™‹¼" zien als zodanig (in de browser).

De data moet dus geconverteerd worden, maar ik zie niet waar het probleem zit en hoe ik het dus kan aanpakken. Iemand een idee?

[MySQL] LOAD DATA INFILE en UTF-8 tekens

25-11-2010 discussie 2
Ik heb een best wel enorme CSV die ik wil importeren in een tabel, en dat doe ik mbv LOAD DATA INFILE, uiteraard. Volgens SHOW VARIABLES staat alles op utf8 en ook in de query browser is te zien dat de betreffende tabel helemaal utf8 is.

Ik krijg de volgende error:
code:
1
Incorrect string value: '\xF0\xA1\x8E\x9A' for column 'alternatenames' at row 1170974

Het zijn inderdaad een paar miljoen rows en de file is bijna 900MB...
Dus de file met de hand wijzigen is geen optie :P

Dit is de code die ik ervoor gebruik:
SQL:
1
2
3
4
5
6
7
LOAD DATA INFILE 'd:\\upload\\data.txt'
  REPLACE INTO TABLE `locations`
  CHARACTER SET 'utf8'
  FIELDS TERMINATED BY '\t'
  LINES TERMINATED BY '\n'
  (@alternatenames`veld`, ...)
  SET alternatenames=NULLIF(@alternatenames,'');

Wel heb ik in alle traagheid met een hexeditor een BOM aan de file toegevoegd, maar dat zorgt er alleen maar voor dat mysql er helemaal niets meer van snapt. Ik heb ook geprobeerd CHARACTER SET 'utf8' aan het statement toe te voegen, maar dat maakt niets uit.

Ik neem voor de zekerheid maar aan dat deze karakters wel utf8 karakters zijn, ik zou in ieder geval niet weten wat het anders is. Gezien de herkomst van de file mag ik er vanuit gaan dat de file verder helemaal in orde is.

Maar wat kan ik nu doen om die data in m'n tabel te krijgen?

Wat specs:
Windows Server 2008 R2
MySQL 5.1.52-community
Query browser 1.2.17

Update:
Net nog even geverifierd met een hex-editor, en de vier bytes zijn inderdaad geldige utf-8 bytes. Ze staan met z'n vieren voor n chinees karakter, en wel 𡎚 (als dat leesbaar is :P).

Omgaan met exotische tekens

24-11-2010 discussie 8
Ik heb steeds gedoe met tekens zoals ş et cetera.

Ik had keurig netjes een php script geschreven dat een XML file moest uitlezen en waar nodig deze tekens moest vervangen door hun minder exotische variant, namelijk (in dit voorbeeld) o s a.

Gooi ik de boel op de server, worden de bovengenoemde tekens ( ş ) automatisch in DirectAdmin vervangen door de welbekende "veilige" html codes... waardoor mijn scriptje niet meer werkt.

Ja, wat doe je dan 8)7

Hoe gaan jullie om met dit soort gedoe?

Ik ben er onlangs achter gekomen dat je ook de encodings van je php scriptjes dient aan te passen als je echt wil dat alles goed wordt weergegeven (c.q. gechood - wat een woord) , en niet slechts de encoding van de html pagina.

[PHP] e trema decoden

21-11-2010 discussie 28
Ik probeer de volgende hex te decoden met PHP: %EB. Dit moet dus een zijn.
Wat ik krijg te zien is een leuk vierkantje met een vraagteken erin: �.
Het decoden doe ik door middel van urldecode.

Er zitten ook andere hex codes tussen, waaronder %2C (komma), deze worden wel gewoon netjes weergegeven.
Ik heb bovenaan de pagina de charset utf-8 aangegeven.

Hoe kan ik die hex code nou netjes decoden met PHP?
Resultaten per pagina: 25 | 50 | 100


Samsung Galaxy S7 edge Athom Homey Apple iPhone SE Raspberry Pi 3 Apple iPad Pro Wi-Fi (2016) HTC 10 Hitman (2016) LG G5

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True