永发信息网

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

答案:3  悬赏:10  手机版
解决时间 2021-03-08 18:23
  • 提问者网友:書生途
  • 2021-03-08 13:44
数据库已调成utf-8了 文件类型也调成utf-8了.......无奈中..............
最佳答案
  • 五星知识达人网友:西风乍起
  • 2021-03-08 15:24
数据库是utf8 ,不是utf-8
全部回答
  • 1楼网友:行路难
  • 2021-03-08 16:45
如果你的编码 是utf8 用 mysql_query('set names utf-8'); 如果你的编码 是gbk 用 mysql_query('set names gbk'); 这两个代码 肯定有一个能让你满意
  • 2楼网友:孤独入客枕
  • 2021-03-08 16:05
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的显示.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯