Phonegap没有显示口音西班牙语单词

时间:2012-03-12 20:28:01

标签: html cordova character-encoding

我开发了一个从服务器使用Web服务的应用程序,服务器通过JSON提供响应。大部分新闻都是西班牙语,所以他们的信件上都有重音。它们以

的形式出现在JSON文件中
Á 
例如,

。但是当页面加载时,它给了我这个

我该怎么办?

修改

这是我的标题:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>PhoneGap</title>
<link type="text/css" rel="stylesheet" href="photoswipe.css">
<link type="text/css" rel="stylesheet" href="jquery.mobile.structure-1.0.css" />
<script type="text/javascript" src="jquery-1.7-min.js"></script>
<script type="text/javascript" src="jquery-mobile-1.0-min.js"></script>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" src="klass.min.js"></script>
<script type="text/javascript" src="code.photoswipe.jquery-3.0.4.min.js"></script>
<script type="text/javascript" src="service.js"></script>
<meta name="viewport" content="initial-scale=1, maximum-scale=1">
</head>

2 个答案:

答案 0 :(得分:3)

您是否在HTML页面标题中将编码设置为utf-8,如此

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

答案 1 :(得分:2)

当我们谈论重音时,网络编程是一团糟。本周我尝试使用jquery mobile和mySQL在法语中创建移动应用程序时遇到了同样的问题。 DB(UTF-8)充满了强调词(é,à...),需要在界面上以相同的方式显示,而不是 。在保存到数据库时,问题也存在,标准方式是发送奇怪的字符而不是标准的重音符号。

我已尝试过meta技巧和很多其他技巧但最终我用这种方式解决了我的问题:

每当我需要展示某些内容时,我会使用: htmlentities ($ something, ENT_QUOTES

像: <input type="text" name="middle_name" value="<?php echo htmlentities($middle_name, ENT_QUOTES);?>">

每次我需要保存时,我都会使用: utf8_decode ($ something)

$allValues .= "'". utf8_decode($val) . "', ";

关于像alert()这样的javascript函数,方法是使用八进制represantation,如:

$message = "Enregistrement ajout\\351" ;
...
<script language="JavaScript">
   alert(<?php echo $message ; ?>);
</script>

去那里有八进制数:http://www.pjb.com.au/comp/diacritics.html

这种方式我能够显示和保存所有突出的单词。 这是正确的做法,可能不是,但网上没有很多关于如何妥善解决这个问题的参考。相信我,我花了很多时间搜索......

玩得开心......