Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery、JS或PHP动态地将不可读的字符替换为正确的字符?_Javascript_Jquery_Wordpress_Dynamic_Character - Fatal编程技术网

Javascript 如何使用jQuery、JS或PHP动态地将不可读的字符替换为正确的字符?

Javascript 如何使用jQuery、JS或PHP动态地将不可读的字符替换为正确的字符?,javascript,jquery,wordpress,dynamic,character,Javascript,Jquery,Wordpress,Dynamic,Character,我甚至不确定这是否可能,但有些事情告诉我这可能是真的。我希望得到专家的指导 我的基于WordPress的网站从另一个网站(“今日航空”窗口小部件)获取动态内容: 我使用以下代码将这些数据嵌入到我的站点: <div id="this_day_in_history"> <h3>This Day in Aviation History</h3> <script src="http://www.youngeagles.com/thisday/absolute

我甚至不确定这是否可能,但有些事情告诉我这可能是真的。我希望得到专家的指导

我的基于WordPress的网站从另一个网站(“今日航空”窗口小部件)获取动态内容:

我使用以下代码将这些数据嵌入到我的站点:

<div id="this_day_in_history">
<h3>This Day in Aviation History</h3>

<script src="http://www.youngeagles.com/thisday/absolutecr.asp?z=1" type="text/javascript"></script>

</div>

航空史上的这一天
在原始站点上,所有字符都显示得非常好,但是当它们显示在我的站点上时,一些引号和一些法语和西班牙语字符被替换为

有没有一行神奇的代码可以让我修复我网站上人物的外观

最好使用jQuery或JavaScript,或者有PHP解决方案

我将非常感谢你的建议


EDIT:最初的解决方案是亚当·麦克唐纳(Adam MacDonald)对这个问题的回答,但他慷慨编写的代码片段需要进一步调整,以达到我的目的。最终的解决方案由Phoenix在一个单独的线程中提供:

我发现使用iconv在php中效果最好。。比如:

iconv(“UTF-8”、“ISO-8859-1//IGNORE//TRANSLIT”、$str)

它会尝试将角色与它的最佳能力相匹配,如果不匹配,就会放弃它

此外,utf8_编码/解码有时工作正常

编辑:

也许是这样的

    <?php
    $contents=file_get_contents('http://www.youngeagles.com/thisday/absolutecr.asp?z=1');
    $convertedcontents=iconv("UTF-8", "ISO-8859-1//IGNORE//TRANSLIT", $contents);
    echo "<script type=\"text/javascript\">".$convertedcontents."</script>";
    ?>

编辑2: 以防您希望看到当前代码的更改:

    <div id="this_day_in_history">
    <h3>This Day in Aviation History</h3>
    <?php
    $contents=file_get_contents('http://www.youngeagles.com/thisday/absolutecr.asp?z=1');
    $convertedcontents=iconv("UTF-8", "ISO-8859-1//IGNORE//TRANSLIT", $contents);
    echo "<script type=\"text/javascript\">".$convertedcontents."</script>";
    ?>
    </div>

航空史上的这一天

问题很可能是由于您的站点使用的编码与从中获取数据的站点不兼容。也可能是小部件获取数据并对其进行UTF8编码/解码。我要做的可能是安装firebug,检查返回的数据。然后,我将编辑小部件代码,并根据需要在响应上添加
utf8\u encode()
utf8\u decode()


编辑:此外,请检查是否不存在在请求数据时可以发送的标志,该数据指示您希望答案采用的编码。我以前见过这种方法,您可以告诉服务返回UTF8格式的数据或不返回UTF8格式的数据。

对不起,这里没有银弹。您的站点可能使用了不同的字符编码-请看以下内容:(您可以在编码之间转换,但在提取内容时需要这样做,否则将是您描述的
混乱。)什么类型的字符?你的意思是像来自非英语语言的微笑或字母?再解释一下。@Piskvor:谢谢。我试图用iso-8859-1替换页面头部的UTF-8,但字符仍然无法显示。你提到我应该在编码之间进行动态转换,你能解释一下如何做到这一点吗@阿法列克:不是微笑,只是引号和一些带有口音的法语/西班牙语字符等。如果我能正确显示引号,我会很高兴。好的,这取决于你如何准确地提取内容,以及你如何在页面中插入内容。最好不要弄乱字符编码,而是使用更高级别的平台功能。@amadeus,请查看编辑后的问题。谢谢你的建议,谢谢你!你能告诉我如何在我的具体情况下使用这个代码吗?(我是一个不可救药的初学者。)因为我自己不使用这个小部件,所以我不知道它的代码是什么样子,也不知道应该在哪里实现修复。我的安装是瑞典语的,但我认为在Widgets/Edit或类似的工具下,你可以选择你想要编辑的小部件,并编辑它的源代码。谢谢亚当!这看起来很有希望!我可以请你告诉我如何在我的代码中使用这个吗?(您正在与一位业余web开发人员打交道。)此代码看起来很棒,Adam,谢谢。不幸的是,当我将其插入WordPress中的帖子时,页面本身会输出代码——即使我是在HTML编辑模式下这样做的。你不会碰巧知道如何在WordPress帖子中插入代码以使其工作吗?Dimitri,我有几件事要处理,然后可以帮你检查一下,我知道PHP可以在WordPress中使用,但不确定如何。。做了一个快速搜索,这可能会帮助你。。如果有,请随时通知我,否则我会在几小时内帮你谢谢你,亚当。请原谅我消失了两天多,我离开了我的电脑。我用WordPress插件插入了你的代码片段。这段代码在Safari中非常有效,但由于某种原因,它会在Firefox和Chrome中抹去整个页面(只有输入的文本显示在白色页面上,没有其他内容)。我用其他一些PHP代码测试了WordPress插件,页面显示正常,所以问题出在代码中。你能帮我修一下吗?我将不胜感激!另外,我还使用不同的WordPress“php in page”插件尝试了你的代码,整个页面在Firefox和Chrome中再次消失。源代码页是完全空白的!谢谢你的建议!