Indsættelse af vietnamesiske bogstaver i database

Tags:    php

<< < 12 > >>
Problemmet kan sikkert løses som andre charsets end lige det vietnamesiske, men det ku jo være.

Situationen er følgende:
1: Man skriver en tekst med vietnamesiske tegn i en HTML form og submitter.

2: PHP indsætter det i en MySQL database hvor det er gemt som de rigtige tegn og ikke som HTML kode eller lignende hax.

3: Man kan lave en søgning i databasen efter et ord der ikke bruger vietnamesiske tegn og finder en tekst der indholder det. Ex: Man søger efter 'van' og finder tekster indholdende 'vẫn'. (og her er et godt eksempel på at udvikleren.dk har de samme problemmer så det er skrevet med HTML :P ).


Jeg har forsøgt med alle mulige charset indstillinger såsom header(), <meta> og accept-charset="" hvor alle er sat til UTF-8 da de vietnamesiske tegn findes i denne. Databasen (tabellen) er sat til at bruge UTF-8 til data'en og utf8_general_ci coalition til selve søgningen.

Hvor det går galt er ved punkt 2, indsættelsen.

Indsættelsen af data virker korrekt hvis det bliver gjort med phpMyAdmin og søgningen kan lade sig gøre. Men med min egen lille test side indsætter den ikke teksten korrekt og søgningen fejler derfor. Jeg har gennemrodet phpMyAdmin koden (både HTML, PHP og SQL) men der er dælme meget og har ikke fundet hvad det er phpMyAdmin gør anderledes.

Så spørgsmålet er: Hvordan indsætter man data'en 100% som den er i en MySQL(v5) database ved hjælp af PHP(v5)?

Kan godt komme med en masse kode, men der er meget (forskelligt) og ved ikke hvor problemmet kan ligge



Indlæg senest redigeret d. 17.08.2008 16:16 af Bruger #6372
12 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 8 karma
Sorter efter stemmer Sorter efter dato
Okay, så ved jeg heller ikke lige...

Men uden understøttelse af vietnamesisk, vil det drille med de 3. afarter af "bogstaverne"..

Se den her:
http://vietunicode.sourceforge.net/charset/help.htm

Og se så det vietnamesiske:

http://vietunicode.sourceforge.net/charset/v3.htm

Hvor hovedparten ligger på Tertiary difference, altså kan jeg ikke forestille mig andet, end du skal igennem special opsætning.

Herudover kan man jo direkte se på bugreporten at det er et eksisterende problem. Om du selecter, sortere, eller indsætter..

/JJ



Ja det er nok korrekt at der skal leges med det for at få alt til at virke 100%.


Det der kommer ind når jeg selv indsætter er:
Ä?ã khuya rồi vẫn ngồi đếm sao

Mens det der kommer ind når phpMyAdmin indsætter er:
Đã khuya rồi vẫn ngồi đếm sao

Og det sidste er helt korrekt. Om det så kun består af Secondary difference ved jeg ikke.



<< < 12 > >>
t