相关疑难解决方法(0)

Javascript中的国际字符

我正在开发一个Web应用程序,在那里我用XML将数据从服务器传输到浏览器.

由于我是丹麦人,我很快就遇到了人物问题æøå.

我知道在html中,我使用"æøå"for æøå.

然而,一旦字符通过JavaScript,我"?"在使用时会得到黑盒子æøå,并按"æøå"原样打印.

我已经确定将它设置为utf-8,但这没有多大帮助.

理想情况下,我希望它可以与任何特殊字符(自然)一起使用.

下面列出了不起作用的示例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
        <script type="text/javascript" charset="utf-8">
            alert("&aelig;&oslash;&aring;");
            alert("æøå");

        </script>
    </head>
    <body>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?


好的,感谢Grapefrukts的回答,我得到了它的工作.

我实际上需要它来自MySQL服务器的数据.由于以UTF-8编码保存文件只能解决静态内容的问题,我想我会包含MySQL服务器的字符串解决方案,使用PHP取出:

utf8_encode($MyStringHere)

javascript unicode internationalization character-encoding

13
推荐指数
3
解决办法
4万
查看次数

jQuery ajax特殊字符问题

好的,这就是问题所在:

我的php页面上有一个表单.当用户输入名称按下提交时,jQuery点击事件(在提交按钮上)收集信息并通过$ .ajax()传递它们.

$.ajax({
    url: "ajax/addGatheringSignup.php",
    type: "POST",
    async: true,
    dataType: 'json',
    data: {
        "id":           $_GET['id'],
        "name":         $signupNameInput.val()
    },
    success: function(jsonData){
        if(jsonData[0].feedback == "ok"){
            $signupForm = $('#singupform');
            $signupForm.html('Signup successful!');
        }else{
            Alert(jsonData[0].feedback);
        }
    },
    error: function(){
        Alert("error alert");
    }
});
Run Code Online (Sandbox Code Playgroud)

如您所见,"name"字段是名称inputfield的值.但是当我将它提交到我的php页面(我没有在文本中格式化任何内容)时,它在我的MySql数据库中完全是垃圾.此刻我试图让丹麦字母æ,ø和å工作.

我知道我的mysql数据库使用的是UTF-8,我的index.php的元头看起来像这样(每个页面都是从index.php页面生成的... ex index.php?page = random):

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)

但是没有用.当我发布:"æÆ-øØ-åÅ"到数据库时,它保存为:"Ã|Ã-Ã-øÃ〜-Ã¥Ã...".有谁知道我要做什么?

编辑1:

我可以看到,在一个成功的ajax提交html我设置$ signupForm(上面的代码中的第13行)也显示错误(这通常是一些丹麦语,我写的丹麦字符提到)

编辑2(找到一个解决方案):

我找到了一个方法.$ .ajax()根据jQuery doc,始终将数据解析为UTF8.我不知道为什么这搞砸了我的代码,但是当我将*utf8_decode($ name)*添加到add-function时它解析正确(所以我猜我的charset必须设置为ISO-8859-1以某种方式隐藏? ).这让我更容易,因为我可以再次打开旧的charset ISO-8859-1并删除我的所有utf8_encode()函数.

我的最后一个问题是"编辑1"中出现的问题.在这里,我找到了一个如何转换UTF8字符串的解决方案(再次因为$ .ajax()):

function decode_utf8( s ){
    return decodeURIComponent( escape( s ) );
}
Run Code Online (Sandbox Code Playgroud)

php mysql jquery character-encoding special-characters

5
推荐指数
1
解决办法
7481
查看次数

使用一个函数将ASCII和UTF-8转换为非特殊字符

因此,我正在构建一个使用已经设置的数据库源的网站,并且已经被客户端用于所有其他网站已有一段时间了.

他们通过外部程序填充这个数据库,我无法改变我获取数据的方式.

现在我有以下问题,有时候我会得到UTF-8字符串,有时候是ASCII字符串(我希望我的这些条款正确,有时它们对我来说仍然有点模糊).

所以我可以得到这个:Sc&eacute;nic或者Scénic.

现在的问题是,我必须将其转换为非特殊字符(因此它会成为Scenic).

我不认为有一个转换ée(如果有告诉)的功能所以我可能需要为包含所有源和目的地的数组创建一个数组,但更大的问题是转换&eacute;到它时é不会破坏é那个功能.

或者我应该只创建一个包含所有内容 的数组
(例如:array('é'=>'e','&eacute;'=>'e');等等

我知道怎么去&eacute;é,这样做utf8_encode(html_entity_decode('&eacute;')),但是将é通过此相同的函数将返回é.

也许我接近这个错误的方式,但在那种情况下,我很想知道我应该如何接近它.

php ascii utf-8 special-characters

5
推荐指数
1
解决办法
1万
查看次数

PHP和mySQL - ë写成ë

可能重复:
PHP搞乱HTML Charset编码

我们遇到了被转换的特殊角色.

是什么造成的?我们该如何解决?

例如:

ë becomes ë
Run Code Online (Sandbox Code Playgroud)

谢谢.

php mysql

2
推荐指数
1
解决办法
6710
查看次数