新手问题 数据库 中文问题

#1 331552

问题情况: 数字和字母能记录进数据库 汉字不能记录   有汉字输入时提交后数据库不记录

下面是环境说明   :    sp 全新

index.php 文件内容如下
define("APP_PATH",dirname(__FILE__));
define("SP_PATH",dirname(__FILE__).'/SpeedPHP');
$spConfig = array(
        "db" => array(
                'host' => 'localhost',
                'login' => 'root',
                'password' => '',
                'database' => 'x_yuju',
        ),
);
require(SP_PATH."/SpeedPHP.php");
spRun();

model目录下建立x_yuju.php文件 内容如下
class x_yuju extends spModel
{
  var $pk = "id"; // 每个留言唯一的标志,可以称为主键
  var $table = "dianpu"; // 数据表的名称
}

controller目录下建立main.php 内容如下

class main extends spController
{
        function index(){ // 这里是首页
                $posturl = spUrl("main", "write"); // 用spUrl制造写留言的地址
                echo "

店铺列表

";
                // 下面做一个表单来提交留言,请注意这些输入框的name属性,它们都对应了数据表guestbook的字段名!
                echo "

请写下您的留言吧:

掌柜:

掌柜信用:

掌柜地址:

链接:

";
                $x_yuju = spClass("x_yuju"); // 用spClass来初始化留言本数据表对象(模型类对象)       
                if( $result = $x_yuju->findAll() ){ // 用findAll将全部的留言查出来
                        foreach($result as $value){ // 循环输出留言信息
                                $contentsurl = spUrl("main", "show", array('id'=>$value['id'])); // 用spUrl制造查看留言内容页面地址,请注意array('id'=>$value['id'])将传递ID到查看页面,由spArgs来接收。
                                echo "

这里是第{$value['id']}条留言:{$value['title']}  信用:{$value['xinyon']}  地址:{$value['dizhi']}  链接:{$value['lianjie']}

";
                        }       
                }
        }
        function show(){ // 这里是查看留言内容
                $id = $this->spArgs("id"); // 用spArgs接收spUrl传过来的ID
                $x_yuju = spClass("x_yuju");  // 还是用spClass
                $condition = array('id'=>$id); // 制造查找条件,这里是使用ID来查找属于ID的那条留言记录
                $result = $x_yuju->find($condition);  // 这次是用find来查找,我们把$condition(条件)放了进去
                // 下面输出了该条留言内容
                echo "

掌柜:{$result['title']}

";
                echo "

掌柜信用:{$result['xinyon']}

";
                echo "

掌柜地址:{$result['dizhi']}

";
                echo "

链接:{$result['lianjie']}

";
        }

        function write(){ // 这里是留言
                $x_yuju = spClass("x_yuju");
                $newrow = array( // 这里制作新增记录的值
                        'title' => $this->spArgs('title'),
                        'xinyon' => $this->spArgs('xinyon'), // 从spArgs获取到表单提交上来的title
                        'dizhi' => $this->spArgs('dizhi'),
                        'lianjie' => $this->spArgs('lianjie'),
                );
                $x_yuju->create($newrow);
                echo "留言成功,返回";
        }

}

数据库如图
2.jpg

2012-12-12 16:20:11

#2 jake

看手册:UTF8 或搜索论坛 utf8

另外,建议先实践一下入门教程的例子。

2012-12-12 19:01:56

#3 331552

入门教程的例子 实践了  也是一样的问题  :Q

看来是我数据库的问题

2012-12-13 16:02:45

#4 331552

先是要谢谢JAKE

谢谢提供了这么好的框架给我们用 还有这么好的论坛来交流

得到你的提醒后发现时 程序和数据库的链接问题

数据库用的是UTF8的 程序也是这个版本的 用的编辑软件是DM  后来在论坛搜索UFT8的问题学习后 用editplus把 index.php 和 maim.php文件另存为utf-8的格式后就可以了 没有什么问题了

还麻烦jake 能改下  问题已经解决了  谢谢

2012-12-16 15:06:46

#5 jake

331552 发表于 2012-12-16 15:06
先是要谢谢JAKE

谢谢提供了这么好的框架给我们用 还有这么好的论坛来交流
问题是解决了,但是问题的分类是【未搜索就提问】,因为这种问题只需要稍微搜索一下或者看一下手册就能解决的。

加这个分类也是为了让其他朋友不用到帖子里面看,只需要知道搜索就能解决问题,节省大家的时间。

2012-12-16 16:24:48