[php][mysql] Chinese tekens invoeren

Pagina: 1
Acties:
  • 139 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • cold45
  • Registratie: Juni 2002
  • Laatst online: 09:19
Hallo,

Ik moet een aantal chinese tekens in mysql zetten. Als ik dit via Phpmyadmin doe, gaat dat perfect, ik copy paste 菜湯 vanuit een Word document naar phpmyadmin, submit en dan staat het in de database, echter wel als
code:
1
菜湯

Als ik dit dan uitlees, staat dat ook in de HTML, maar staan er op mijn beeldscherm weer de gewone tekens.

Als ik echter mijn zelfgeschreven simpele php formuliertje gebruik, die geen filters over de ingevoerde string haalt, komt er iets fouts in de database te staan, wat er ook niet uitkomt als Chinese tekens... htmlentities() helpt ook niet. Ik heb in de PHP manual gekeken, maar ik kon niets vinden.

Wel heb ik http://www.webmasterworld.com/forum88/1198.htm gevonden.
So, maybe my best bet is to convert all characters to unicode entities first then...
code:
1
Христианин
Maar hoe doet hij dat dan?

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ik weet het niet zekern, maar ik denk dat je hier misschien wel wat aan hebt:

UTF8_encode
UTF8_decode

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • cold45
  • Registratie: Juni 2002
  • Laatst online: 09:19
helaas doet dat weinig, ik krijg alleen een aantal hele vage tekens in mn bd...

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

HTMLSpecialChars misschien dan?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Je zou eigenlijk even in de source van phpMyAdmin moeten duiken om te kijken wat die gebruikt ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

Verwijderd

htmlentities werkt bij dit voor geen meter omdat dit dus alles gaat converten naar al die gare tekens. Wil je toch die quotes enzo converten dan moet je htmlspecialchars gebruiken met ENTQUOTES zoals eerder gezegd door NMe84... Ik heb er zelf ook een tijdje meegespeeld en heb wel succes gehad met UTF-8. Zowel submit pagina als output pagina als UTF-8.

Maar ehm, misschien wel handig als je ff laat zien hoe je het erin zet.

edit:
Als je UTF-8 gebruikt kan je sowieso al die charsets, dus Simplefied en Big5 zouden dan goed moeten gaan

[ Voor 13% gewijzigd door Verwijderd op 20-05-2004 15:57 ]


Acties:
  • 0 Henk 'm!

  • cold45
  • Registratie: Juni 2002
  • Laatst online: 09:19
hmmz heel erg bedankt allemaal. Echter was k zelf ongeloofelijk dom bezig... Ik had deze pagina nogal snel inmekaar gezet en dus <html> etc weggelaten, maar ook de meta tag met de charset had ik er niet instaan. Met deze erin kan het gewoon. Mocht een searcher deze vraag tegenkomen, zo werkt het bij mij:

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
<?php
include("include.php");

  if(isset($_POST['id']))
  {
  $sql_qry_bijwerk = "UPDATE gerecht SET chinees='".$_POST['chinees']."' WHERE id='".$_POST['id']."'";
  mysql_query ($sql_qry_bijwerk) or die (mysql_error()); 
  }

$sql_qry_opvraag = "SELECT id, naam FROM gerecht WHERE chinees = '' LIMIT 1";
$sql_rst_opvraag = mysql_query($sql_qry_opvraag) or die (mysql_error());

$sql_row_opvraag = mysql_fetch_row($sql_rst_opvraag);

?>
<html>
<head>
  <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
</head>
<body>
<form name="pino" action="chinees.php" method="post">
<input type='hidden' name='id' value='<?php print($sql_row_opvraag[0]); ?>'>
Voer het Chinese charackter voor <b><?php print($sql_row_opvraag[1]); ?></b> in:
<br>
<input type='text' name='chinees'>
<br>
<input type='submit'>
</form>
</body>
</html>
Pagina: 1