thinkphp连接mysql数据库 读取中文都变成问号了.......
数据库已调成utf-8了文件类型也调成utf-8了.......无奈中.................
数据库已调成utf-8了 文件类型也调成utf-8了.......无奈中..............
展开
3个回答
2013-04-06
展开全部
PHP 没玩过, 给你一个 C# 里面的 处理的 步骤。
你对照着看看, 会不会是 thinkphp 连接 Mysql 的时候, 少传了参数。
-- 创建数据库的时候, 指定字符集.
CREATE DATABASE test_utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci;
mysql> use test_utf8
Database changed
mysql> show variables like 'character%';
+--------------------------+----------------------------------------------------
-----+
| Variable_name | Value
|
+--------------------------+----------------------------------------------------
-----+
| character_set_client | latin1
|
| character_set_connection | latin1
|
| character_set_database | utf8
|
| character_set_filesystem | binary
|
| character_set_results | latin1
|
| character_set_server | latin1
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\chars
ets\ |
+--------------------------+----------------------------------------------------
-----+
8 rows in set (0.00 sec)
-- 创建表的时候, 指定字符集.
CREATE TABLE test_tab (
id INT AUTO_INCREMENT,
value1 varchar(20),
value2 nvarchar(20),
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
处理 UTF8 的时候, C# 的连接字符串中,要加上 charset=utf8
例如:
Server=192.168.56.101;Database=test_utf8;Uid=test_user;Pwd=testpassword; charset=utf8
注:
dos下不支持UTF8的显示.
你对照着看看, 会不会是 thinkphp 连接 Mysql 的时候, 少传了参数。
-- 创建数据库的时候, 指定字符集.
CREATE DATABASE test_utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci;
mysql> use test_utf8
Database changed
mysql> show variables like 'character%';
+--------------------------+----------------------------------------------------
-----+
| Variable_name | Value
|
+--------------------------+----------------------------------------------------
-----+
| character_set_client | latin1
|
| character_set_connection | latin1
|
| character_set_database | utf8
|
| character_set_filesystem | binary
|
| character_set_results | latin1
|
| character_set_server | latin1
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\chars
ets\ |
+--------------------------+----------------------------------------------------
-----+
8 rows in set (0.00 sec)
-- 创建表的时候, 指定字符集.
CREATE TABLE test_tab (
id INT AUTO_INCREMENT,
value1 varchar(20),
value2 nvarchar(20),
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
处理 UTF8 的时候, C# 的连接字符串中,要加上 charset=utf8
例如:
Server=192.168.56.101;Database=test_utf8;Uid=test_user;Pwd=testpassword; charset=utf8
注:
dos下不支持UTF8的显示.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库、文件类型、浏览器显示方式都是utf-8的话,没有理由仍然是问号的
追问
还是问号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库是utf8 ,不是utf-8
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询