连接oracle后gii报错 [ 2.0 版本 ]
连接oracle数据库(数据库使用GBK,网页使用utf8),修改了配置文件app/config/db.php
'dsn' => 'oci:dbname=11.222.128.111/hwwg;charset=ZHS16GBK',
连接成功。
但是使用gii的model时异常
http://127.0.0.1/mc/web/index.php?r=gii/default/view&id=model
错误如下:,请问怎么处理?
Exception
Invalid Parameter – yii\base\InvalidParamException
Malformed UTF-8 characters, possibly incorrectly encoded.
zealveryme 补充于 2017-01-10 09:37
中文出来了 原来odp连接里的字符集不是要写数据库,而是要写网页的
我的数据库的字符集是GBK但是我改成这样:
'dsn' => 'oci:dbname=10.224.128.106/hwwg;charset=utf8',
中文可以出来,但是执行ggi时还是有问题,原因是我的表名有中文的,报错如下:有没有解决方法。
Database Exception – yii\db\Exception
PDOStatement::fetchAll(): column 0 data was too large for buffer and was truncated to fit it
The SQL being executed was: SELECT table_name FROM user_tables where table_name like 'ZL_MC%'
UNION ALL
SELECT view_name AS table_name FROM user_views where view_name like 'CL_3338_%'
UNION ALL
SELECT mview_name AS table_name FROM user_mviews where mview_name like 'ZL_MC%'
ORDER BY table_name↵
Caused by: yii\base\ErrorException
PDOStatement::fetchAll(): column 0 data was too large for buffer and was truncated to fit it
in E:\www\mc\vendor\yiisoft\yii2\db\Command.php at line 908
共 1 个回答
-
zhoupenghui 回答于 2017-01-09 15:46 举报
最基本的要三码合一呢
共 2 条回复zealveryme 回复于 2017-01-10 09:32 回复生产环境比较复杂,系统要连接很多其他数据库。所以数据库的编码不能一致。我之前没有用框架,写道逻辑太复杂,所以比不得也来学个框架稿一搞,看看能得能把我的程序走的更远。
zhoupenghui 回复于 2017-01-10 10:05 回复你这个数据库是gbk,表也有中文,这是历史遗留问题, 以前的网页好像都是用gbk格式的,现在是utf-8,给你个方法: 自己写一个工具,把项目下所有编码格式转成utf-8,另外再写一个工具,把数据库下的格式转成utf8,数据库,数据表,字段全部用英文替换,一次性解决问题,不会反弹
zealveryme
注册时间:2017-01-09
最后登录:2017-01-10
在线时长:0小时28分
最后登录:2017-01-10
在线时长:0小时28分
- 粉丝0
- 金钱10
- 威望0
- 积分10