[php/javascript] Chinese tekens parsen

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

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zit met het volgende probleem. Ik heb een dynamische site in php die meertalig is. Nu is 1 van deze talen Chinees en d.m.v. een speciale vertaalmodule is de hele site vertaalt in het Chinees. nu staat dus in de MySQL database alle tekst ook in het chinees. Echter staan niet de chinese tekens opgeslagen in de database maar de html entities waarde dus zoals
code:
1
太
. Nu gaat alles goed als ik de site parse naar de browser alleen op het moment dat ik javascript parse en dit daarna aanroep gaat het mis.
Ik krijg dan de volgende code :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function checkform(){
alerttekst = '';
if(document.form1.CompanyName.value == ''){
alerttekst += '-公司名未填\n';
}
if(document.form1.Address.value == ''){
alerttekst += '-公司地址未填\n';
}
if(document.form1.Zipcode.value == ''){
alerttekst += '-公司邮编未填\n';
}
if(document.form1.City.value == ''){
alerttekst += '-公司城市未填\n';
}
if (!Email(document.form1.ContactEmail.value)) {
alerttekst +='- 加入有效的电子邮件地址\n';
}


Als ik nu de alert krijg te zien zie ik gewoon de entitie waarde en niet het chinese teken. Iemand een iidee of ik via php er al voor kan zorgen dat de chinese tekens worden weggeschreven of dat ik in javascript de chinese tekens kan tonen ?

[ Voor 10% gewijzigd door Verwijderd op 07-10-2005 09:30 ]


Acties:
  • 0 Henk 'm!

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

NMe

Quia Ego Sic Dico.

In Javascript moet je dan geloof ik & gebruiken in plaats van &. En in PHP/MySQL moet je de goeie charset zoeken en gebruiken.

'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!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:29

crisp

Devver

Pixelated

HTML-encoding heeft niets met scripting te maken; je zal dus unencoded karakters moeten gebruiken in je scripts, en zorgen dat je scripts met een juiste charset geserveerd worden.

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik was dus al bezig in php om de characters te decoden alleen geeft dit script geen resultaat terug:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
function decode_entities($text) {
   $text= html_entity_decode($text,ENT_QUOTES,"BIG5"); #NOTE: UTF-8 does not work!
   $text= preg_replace('/&#(\d+);/me',"chr(\\1)",$text); #decimal notation
   $text= preg_replace('/&#x([a-f0-9]+);/mei',"chr(0x\\1)",$text);  #hex notation
   return $text;
}
?>

<?
 decode_entities("&#22826;");
 html_entity_decode("&#22826;",ENT_QUOTES,"BIG5");
?>

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op vrijdag 07 oktober 2005 @ 09:45:
Ik was dus al bezig in php om de characters te decoden alleen geeft dit script geen resultaat terug:
Misschien echo ervoor zetten?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
function decode_entities($text) {
   $text= html_entity_decode($text,ENT_QUOTES,"BIG5"); #NOTE: UTF-8 does not work!
   $text= preg_replace('/&#(\d+);/me',"chr(\\1)",$text); #decimal notation
   $text= preg_replace('/&#x([a-f0-9]+);/mei',"chr(0x\\1)",$text);  #hex notation
   return $text;
}
?>

<?
echo decode_entities("&#22826;");
echo html_entity_decode("&#22826;",ENT_QUOTES,"BIG5");
?>

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Oops.... Nu werkt het was er al dichtbij dus 8)7

Acties:
  • 0 Henk 'm!

  • imp4ct
  • Registratie: November 2003
  • Laatst online: 06-09 22:19
Verwijderd schreef op vrijdag 07 oktober 2005 @ 09:59:
Oops.... Nu werkt het was er al dichtbij dus 8)7
De oplossing schuilt soms in kleine dingen :Y)

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600

Pagina: 1