symfony 中propel 连接数据库的字符集设置

之前玩了一段symfony,由于没有项目的动力,只是了解一下,最终还是放下,
最近接了些私活,最近写了几个小项目,由于时间紧,感觉有需要找一个框架来提速一下,就又拾起了symfony

数据库存放的时候用的gb2312,页面用的gb2312,按symfony默认的数据库及页面的编码显示错误,经过找资料及看symfony的sfPropelDatabase中的相关参数,于是修改了 app/module/config/settings.yml 的相关内容
  1. all:
  2.   .settings:
  3.     # Form security secret (CSRF protection)
  4.     csrf_secret:       false     # Unique secret to enable CSRF protection or false to disable
  5.     # Output escaping settings
  6.     escaping_strategy:      false            # Determines how variables are made available to templates. Accepted values: on, off.
  7.     escaping_method:        ESC_SPECIALCHARS # Function or helper used for escaping. Accepted values: ESC_RAW, ESC_ENTITIES, ESC_JS, ESC_JS_NO_ENTITIES, and ESC_SPECIALCHARS.
  8.    
  9.     #下面的新加的
  10.     charset:                gb2312       # 如果前台的页面输出是gb2312 此处必须设置
上面的修改将会改变网页输出编码为gb2312

但上面的修改并不能改变数据库连接的字符集设置
你需要对your_web_root/config/database.yml做如下的设置
  1. all:
  2.   propel:
  3.     class:          sfPropelDatabase
  4.     param:
  5.       dsn:          mysql://root@localhost/new
  6.       
  7.       #下面的内容是新加的
  8.       encoding:     gb2312      #相当于 set names gb2312
  9.      persistent:   true        #mysql的持续连接

注解: symfony 默认的字符集是utf-8
        如果你不知道一个类的相关参数,可以去PEAR/symfony中看相关类的内容,这也是一个不错的学习方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值