Discuz! 官方站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2798|回复: 4

[已完结] 论坛内容乱码 需要修复

[复制链接]
发表于 2017-9-5 12:52:03 | 显示全部楼层 |阅读模式
需求发布
金额范围: 10-50 元
预算金额: 50 元
开始时间: 2017-09-05
结束时间: 2017-09-07
联系方式: 隐藏内容
原来是DISCUZX 3.2 的论坛,几个月前突然就成了乱码。由于论坛许久没有人用,也没注意具体什么改变导致的。程序肯定没有改,我怀疑是托管主机的服务商改了数据库服务器版本,导致兼容性不好。我PHPmyWIN SQL 查询 帖子表能看到中文显示正常的。
( w6 Y7 s8 I9 q& R后来我就新装 3.4 ,新建数据库,结果能正常显示中文。比较了两个数据库区别如下。8 s1 F. Y$ X. x# `# E
新数据库5 f! X  r: B7 T' L. b. f. C1 E' h
show variables like 'collation_%'
     
Variable_name
   
Value
     # F: R5 P; q8 {! N0 g: Q& {  c
      
collation_connection
      
utf8mb4_unicode_ci
     
0 A1 e5 e, j. X: l/ P; q* |( {7 T' `     
collation_database
      
latin1_swedish_ci
     ' a* t3 Y: c, K0 G# ~0 l8 g
     
collation_server
      
latin1_swedish_ci
     
show variables like 'character_set_%'
     
Variable_name
   
Value
     
# Q- n! j6 l/ i! z: D) k( w      
character_set_client
      
utf8mb4
     0 y& W+ S6 S2 o8 V, _
     
character_set_connection
      
utf8mb4
     
% k2 f. L7 [! U$ k5 }     
character_set_database
      
latin1
     1 y( r4 q& M5 _  F
     
character_set_filesystem
      
binary
       m+ B3 r& A& Z/ Q  u, N; v; i( w
     
character_set_results
      
utf8mb4
     
4 B  M* o  R$ W" j9 C( x- S% ]     
character_set_server
      
latin1
     
* W+ c6 R) m1 j# w  G9 Q     
character_set_system
      
utf8
     
6 y' j) N) n: j     
character_sets_dir
      
/usr/share/mysql/charsets/
     ) y7 {$ p) ]: r" l/ i2 z

0 t- E1 o, ]8 g: Y, @  j# u; K$ L
问题数据库edynatek_easyx3
show variables like 'collation_%'
     
Variable_name
   
Value
     + N" G) O" `; I# i2 M% d& W; Y+ s* j
      
collation_connection
      
utf8mb4_unicode_ci
     3 C- [! K. ^& H, l
     
collation_database
      
utf8_general_ci
     
) x+ D: u- S( E     
collation_server
      
latin1_swedish_ci
     
show variables like 'character_set_%'
     
Variable_name
   
Value
     
& m) A, U! `) u: i$ S& Z      
character_set_client
      
utf8mb4
     
3 y$ R& G6 q- A     
character_set_connection
      
utf8mb4
     
/ V& o  S* a- z# d/ R$ ]0 p8 e; c$ z% [     
character_set_database
      
utf8
     
+ i: |8 f( z- L8 f3 {     
character_set_filesystem
      
binary
     
1 W: ]6 g) {  W2 ~& @& z3 v     
character_set_results
      
utf8mb4
     
2 }5 u9 |8 F) R0 K3 z     
character_set_server
      
latin1
     + @0 @3 n# C% i
     
character_set_system
      
utf8
     7 t$ j# R; C$ s
     
character_sets_dir
      
/usr/share/mysql/charsets/
     ) s( O- p. D1 P: e; ?0 ?6 S
$ M' L) q& @6 D( Z' F( P+ k1 D* W
[size=13.3333px]character_set_database 和 collation_database   用set 语句改了没用。0 [1 W1 F4 }+ Y: o
请教如何解决。) `  X# P% @0 O0 E. i+ X. ]
& o& p' ?5 B) a( H0 n$ Q8 }
另一个思路是把老论坛的数据库导入到新论坛,但是老论坛UC在另一个数据库。新的是同一个数据库。不知是否可行。
- J- n) P# B+ T
' p. e6 A  W# x  b$ ]
& N0 @5 p+ K1 z! V4 \
, ~, ~0 N: B3 g7 T6 |- Y1 i: b- s- }& l: m! a) s4 ~
0 O" X5 C# ~: k4 L) w0 W
 楼主| 发表于 2017-9-5 12:56:50 | 显示全部楼层
本帖最后由 此山是我开 于 2017-9-5 13:11 编辑   q  }, H* m1 R7 A
: }9 t, _1 g! G" s- y
网址 bbs.easyremember.net 查询帖子表  pre_forum_post` 正常显示中文 新装的网址 http://www.easyremember.net/bbsnew/forum.php?mod=viewthread&tid=1&extra=page%3D1  能显示中文' X+ R5 w/ P8 D
但phpmyadmin 查询帖子表 pre_forum_post` 反而是乱码1 a! @. j  c: ^; K) T

' G/ N$ O) \4 @# g8 e4 T7 z( W
回复

使用道具 举报

 楼主| 发表于 2017-9-12 14:16:04 | 显示全部楼层
本帖最后由 此山是我开 于 2017-9-12 14:17 编辑 5 F4 A- {5 y) P& M/ H
0 y4 i6 O& b' T+ t
问题我自己解决了。修改了代码。
% w3 x+ z1 }5 V6 z修改discuz_database.php 文件在bbs\source\class\discuz
5 A% S! C% M+ Kpublic static function init($driver, $config)  里面最后加了一行代码( v1 _; \: ]  G- M
self:db->query("set names 'utf8'");
: j% w6 ?" J( j5 r
! l+ C8 _0 A" |. @4 O% q7 x2 V- ]
public static functioninit($driver, $config) {
                                self:driver =$driver;
                                self:db = new$driver;
                                self::$db->set_config($config);
                                self::$db->connect();
                                self::$db->query("setnames 'utf8'"); // Force to use utf8 charset. Added by Hanson 2017.9.5
                                                }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Discuz! Q 3.0 全新来袭 助力变现

小黑屋|Discuz! 官方站 ( 粤B2-20090059-165 )star

GMT+8, 2022-1-20 13:33

Powered by Discuz! X3.4

Copyright © 2001-2019 Tencent Cloud.

快速回复 返回顶部 返回列表