PHP中MYSQL数据库乱码问题,跪求解决方案

PHP中MYSQL数据库乱码问题,跪求解决方案,第1张

可能需要修改数据库的配置

一般情况下我们在设计数据库的时候都会事先确定好要用的字符集,但当我们要使用以前的数据的时候,可能会遇到字符集不同的问题,字符集的修改不能通过alert database charest set 来直接修改,这样只是影响以后的数据,对已有的数据没有用,那怎么办那

我们模拟讲latin1字符集的数据库修改成GBK的字符集,

1,导出表结构:

mysqldump -uroot -p --default -character-set = gbk -d databasename>createtabsql

-default-character-set=gbk 表示设置上面字符集连接 -d表示只导出表结构

2,手工修改createtabsql中表结构定义中的字符集为新的字符集。

3,确保记录不在更新,导出所有记录

mysqldump -uroot -p --quick --no-create-info --extended-insert --default-chareacter-set=latina

databasename>datesql

--quick 该选项用于转存储大的表,--extended-insert 可以使转存文件更小,重载的时候加快速度,

--no-create-info不写重新创建每个转存储表的create table 语句,--default-character-set=latin1按照原有的字符集导出所有数据,这样导出的文件中,所有的中文都是可见的,保证不会出项乱码,

4,打开datasql 将set names lation1修改为set names gbk;

5,使用新的字符集创建数据库,

create database databasename default charset gbk;

6,创建表,执行createtabsql

mysql -uroot -p databasename < createtabsql

7,导入数据,执行datasql,

mysql -uroot -p databasename < datasql

参考上面的方法试验下!~

 由于DISM命令不支持热备份,所以系统备份与还原需要在win7pe、win8pe或第二系统(Win7或Win8)中以管理员身份运行cmd。注:pe系统不能过分精简。

        Win8对DISM命令进行了升级,通过把Win8系统 C:\Windows\System32 中的 Dism 文件夹与 Dismexe 复制到Win7系统(包括PE) C:\Windows\System32 下,Win7就可以使用DISM所有命令了。

        Win7要使用以下命令,需要Win8的dism文件。

一、初始备份

        Dism /Capture-Image /ImageFile:e:\sysbak\systemwim /CaptureDir:C:\ /Name:win10 /Description:2017-2-23

参数说明:

/Capture-Image - 将驱动器的映像捕获到新的WIM文件中,捕获的目录包含所有子文件夹和数据。

/ImageFile - 指定映像文件路径。上面这条命令的指定映像文件路径为“D:\backup\systemwim”

/CaptureDir - 指定捕获目录。上面这条命令的指定捕获目录为“C:\”

/Name - 指定名称。此项不能省略。上面这条命令的指定名称为“Backup-1”

/Description - 指定描述。此项可省略。上面这条命令的“xxxxxx”可以改为你想要的描述

        上面这条命令代表将C盘内容备份至D:\backup下的systemwim中。

二、增量备份

        Dism /Append-Image /ImageFile:D:\backup\systemwim /CaptureDir:C:\ /Name:Backup-2 /Description:xxxxxx

参数说明:

/Append-Image - 将其他映像添加到WIM文件中。这里的wim文件是初始备份生成的wim文件。

其余参数与初始备份相同。

        上面这条命令代表将C盘内容增量备份至D:\backup下的systemwim中。

三、系统还原

        Dism /Apply-Image /ImageFile:D:\backup\systemwim /Index:2 /ApplyDir:C:\

参数说明:

/Apply-Image - 应用一个映像。上面这条命令的应用映像指D:\backup下的systemwim

/ApplyDir - 指定应用目录。上面这条命令的指定应用目录为“C:\”

/Index - 指定索引。此项不能省略。上面这条命令的指定索引为第二个备份

        上面这条命令代表将D:\backup下的systemwim还原至C盘。

        因Dism安装WIM映像不会像Ghost那样格式化磁盘,所以如果需要可以自己格式化系统盘。还原后如果发现缺少启动引导文件,可以通过“bcdboot C:\windows /s C: /l zh-cn”指令添加启动引导。/s 指的是系统分区,/l 指的是语言。

四、获取WIM文件映像信息

        Dism /Get-WimInfo /Wimfile:e:\sysbak\system10wim

参数说明:

/Get-WimInfo - 显示有关WIM文件中的映像的信息。

/Wimfile - 指定WIM文件路径。上面这条命令的指定WIM文件路径为“D:\backup\systemwim”

        上面这条命令代表查看D:\backup下的systemwim的映像信息。

        可以在后面添加索引号或名称来查看某次备份的详细信息,还可以在后面添加 >d:\listtxt 把信息导出为记事本,方便查看。如:

Dism /Get-WimInfo /Wimfile:D:\backup\systemwim /Index:1 >d:\listtxt

或:Dism /Get-WimInfo /Wimfile:D:\backup\systemwim /Name:Backup-1 >d:\listtxt

五、从具有多个卷映像的WIM文件中删除指定的卷映像

        Dism /Delete-Image /ImageFile:D:\backup\systemwim /Index:2

参数说明:

/Delete-Image - 从具有多个卷映像的WIM文件删除指定的卷映像。

        上面这条命令代表删除D:\backup下的systemwim的第二个备份。

        此命令仅删除卷映像名称与描述,而不会删除卷映像数据,因此不会减小映像体积。可用于防止误应用该卷映像。要减小映像的体积可以通过下面的命令完成。

六、从具有多个卷映像的WIM文件中提取单独的卷映像

        Dism /Export-Image /SourceImageFile:D:\backup\systemwim /SourceIndex:2 /DestinationImageFile:D:\backup\system-2wim

参数说明:

/Export-Image - 将指定映像的副本导出到其他文件。

/SourceImageFile - 指定映像文件来源路径。上面这条命令的指定映像文件来源路径为“D:\backup\systemwim”

/SourceIndex - 指定来源索引。上面这条命令的指定来源索引为第二个备份

        上面这条命令代表将D:\backup下的systemwim的第二个备份提取出来,存至D:\backup下的system-2wim。

        如果原来的映像有3个索引,可以通过该命令将第一个和第三个提取出来(只需将上面这条命令的/SourceIndex:2分别改为/SourceIndex:1和/SourceIndex:3),存至D:\backup下的system-2wim。修改后,卷映像的索引号会发生改变,但名称不会变。

附:

默认情况下,DISMexe工具将排除以下文件:    

[ExclusionList]

\$ntfslog

\hiberfilsys

\pagefilesys

\swapfilesys

"\System Volume Information"

\RECYCLER

\Windows\CSC

[CompressionExclusionList]

mp3

zip

cab

\WINDOWS\inf\pnf

        如果将配置列表文件命名为wimscriptini,并存储在DISM目录(DISMexe 文件所在的目录)中,当使用/Capture-Image 选项(不论是否包括/Compress 参数)时,它将自动运行,而不需要使用 /ConfigFile 参数。

        使用/ConfigFile 参数,可让你在使用DISMexe捕获映像时为每个文件和文件

html的代码中的编码设置

<meta >

你的mysql客户端和你的mysql服务器的编码不一样,,应为utf8编码的中文是3个字符,而gbk编码的中文是两个字符,,这样解析出来的中文就是乱码了。。你需要该数据库的字符集编码。。。具体如下:

找到mysql 的ini配置文件

在[client]这里加上default_character_set = utf8

在[mysqld]这里加上character_set_server = utf8

不出意外应该可以了

以上就是关于PHP中MYSQL数据库乱码问题,跪求解决方案全部的内容,包括:PHP中MYSQL数据库乱码问题,跪求解决方案、中文乱码问题无法解决setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);、PHP网页中,读取的mysql数据库乱码,是什么原因(php是在smarty里面)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存