我正在使用名为notams.js的node.js API来获取与Aviation相关的通知列表。 PHP脚本使用以下代码调用API:
<?php
shell_exec("node notams.js");
?>
notams.js API如下所示:
var notams = require("notams");
notams(['LICZ'], { format: 'ICAO' }).then(results => {
console.log(JSON.stringify(results))
});
部分输出如下:
V0038 / 18 NOTAMN:[US DOD PROCEDURAL NOTAM]标准仪器离开(SID)修正雷达出口转弯28L;起飞RWY 28L:CLIMB HEADING276 。
问号代替度(°)符号。有什么方法可以防止这种情况发生在任何其他输出?我想要出现正确的符号。
P.S。 php / html页面有以下元参数:name =“viewport”content =“width = device-width,initial-scale = 1”charset =“UTF-8”
答案 0 :(得分:0)
你在脚本中使用shell_exec命令,我肯定问题是控制台编码/ env的结果(例如:像LOCALE = C或其他非UTF-8编码)。
可能解决方案就是把这个
<section id="events-list">
<div class="event">
<div class="event-date">
<p>MAR 30</p>
</div>
<div class="event-details">
<p class="event-city">City, US</p>
<p class="event-bus">Company HQ - Company Double Line</p>
<a class="register" href="#">RSVP</a>
</div>
</div>
<div class="event">
<div class="event-date">
<p>MAR 30</p>
</div>
<div class="event-details">
<p class="event-city">City, US</p>
<p class="event-bus">Company HQ</p>
<a class="register" href="#">RSVP on 4/13</a>
</div>
</div>
<div class="event">
<div class="event-date">
<p>MAR 30</p>
</div>
<div class="event-details">
<p class="event-city">City, US</p>
<p class="event-bus">Company HQ - Company Double Line</p>
<a class="register" href="#">RSVP</a>
</div>
</div>
</section>
在$locale = 'en_US.UTF-8';
setlocale(LC_ALL, $locale);
putenv('LC_ALL='.$locale);
行之前。