angularjs post 提交中文乱码?

发布于 2022-09-03 15:02:41 字数 2282 浏览 32 评论 0

html:

<div  ng-controller="login_input">
    <form ng-submit="check_login()">
        <div ><a>用户名:</a></div><div ><input type="text" required ng-model="login.uname"/></div>
        <div ><a>密码:</a></div><div ><input type="password" required ng-model="login.upassword"/></div>
        <div ><a>验证码:</a></div><div ><input type="number" min="0" required ng-model="login.chkcode"/><img src="img.php"/></div>
{{login}}
        <button class="a_button" type="submit">登录</button>
    </form>
</div>
</body>
<script type="text/javascript" src="js/angular.min.js"></script>
<script>
    var app = angular.module('login', []);

    app.controller('login_input', function ($scope,$http) {
      $scope.check_login=function(){
          var aa  = {
              uname : $scope.login.uname,
              upassword:$scope.login.upassword,
              chkcode:$scope.login.chkcode
          }
         if($scope.login.uname&&$scope.login.upassword&&$scope.login.chkcode){
             $http({
                 method: 'POST',
                 url: 'login.php',
                 data: aa,
             })
                 .success(function(response){
                     console.log(response);
                 })
         }
      }
    });
</script>

php:

<?php
header('Content-type: text/html; charset=gb2312');
$params = json_decode(file_get_contents('php://input'), true);

require("cfg.php");
global $dbh;
$user_name= $params["uname"];
$user_password= $params["upassword"];
$user_chkcode= $params["chkcode"];
var_dump(is_register());
var_dump($user_name);
function is_register()
{
    global $dbh, $user_name, $user_password;
    $up = sha1($user_password);

    $sql = "select user from gggg";
    $sth = $dbh->prepare($sql);
    $sth->bindParam(':username', $user_name);
   // $sth->bindParam(':pwd', $up);
    $sth->execute();
    $rs = $sth->fetchAll(PDO::FETCH_ASSOC);

      return $rs;
}
?>

接收到的user_name是乱码,这里是需要设置post时的headers吗?应该如何设置。
出于各种原因,需要最大限度地兼容以前的系统,所以要用gb2312.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

画尸师 2022-09-10 15:02:41

可以贴下post请求的http信息吗,

应该可以接收的时候先用UTF-8接收,然后要存储或者与其他服务交互在服务端转成gb2312,使用iconv()

@黎明星刻 提供的博客文章 http://blog.csdn.net/vera_xue...

爱已欠费 2022-09-10 15:02:41

我在php中使用如下代码解决了问题:
$params = json_decode(file_get_contents('php://input'), true);
require("cfg.php");
global $dbh;
$user_name = $params["uname"];//utf-8
$user_name = iconv("UTF-8", "GB2312", $user_name);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文