php插入 数据到MYSQL出现乱码的?

php插入 数据到MYSQL出现乱码的?,第1张

MySQL会出现中文乱码的原因不外乎下列几点:

1.server本身设定问题,例如还停留在latin1

2.table的语系设定问题(包含character与collation)

3.客户端程式(例如php)的连线语系设定问题

强烈建议使用utf8!!!!

utf8可以兼容世界上所有字符!!!!

Linux下Mysql插入中文显示乱码解决方案

mysql

-uroot

-p

回车输入密码

解决方案:

mysql>user

mydb

mysql>alter

database

mydb

character

set

utf8!

另一种方法是直接修改默认的Mysql配置文件

在debian环境下,彻底解决mysql无法插入中文和中文乱码的办法

上面提到了用临时方法更改数据库的字符集设置,显示中文,但是后来发现在有的系统下并不能成功,比如我用的debian

7.0,找了好久终于找到一个适合debian系统的解决方案,debian

7.0下测试成功,其他诸如修改client和mysql加入default-character-set=utf8的方法之类的,只适用与5.5以前的系统!

mysql_query("SET

NAMES

'UTF-8'")//将MySql默认字符集设置为utf-8

这句错了

MYSQL和PHP

HTML不一样

UTF8不带"-"号

1.修改my.ini:[mysql]default-character-set=utf8[mysqld]default-character-set=utf8default-storage-engine=MyISAM在[mysqld]下加入:default-collation=utf8_bininit_connect='SET

NAMES

utf8'

2.在需要做数据库 *** 作的php程序前面加上mb_internal_encoding('utf-8')

3.create

table最后边加上ENGINE=MyISAM

DEFAULT

CHARSET=utf8

COLLATE=utf8_bin

4.phpMyAdmin/config.inc.php

$cfg['DefaultCharset']

=

'utf-8'$cfg['RecodingEngine']

=

'iconv'

5.phpMyAdmin/libraries/string.lib.php将第41行的mb_internal_encoding($GLOBALS['charset'])改为:mb_internal_encoding('utf-8')

6.phpAdmin导出数据时把"二进制区域使用十六进制显示"的勾去掉


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10707613.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存