thinkphp连接mysql数据库 读取中文都变成问号了.......

数据库已调成utf-8了文件类型也调成utf-8了.......无奈中................. 数据库已调成utf-8了 文件类型也调成utf-8了.......无奈中.............. 展开
 我来答
匿名用户
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的显示.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CIOBOK
2013-04-07 · CIOBOK-探索CIO知识体系
CIOBOK
采纳数:51 获赞数:248

向TA提问 私信TA
展开全部
数据库、文件类型、浏览器显示方式都是utf-8的话,没有理由仍然是问号的
追问
还是问号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黎晓荣lee
2013-04-08
知道答主
回答量:50
采纳率:0%
帮助的人:14.9万
展开全部
数据库是utf8 ,不是utf-8
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式