作者cjoe (TeA)
看板PHP
标题[分享] phpmyadmin资料汇出编码乱掉解决
时间Wed Oct 27 16:15:59 2010
有时候,可能会遇到旧系统当初在设计的时候,系统并无特别指定编码
所以在资料库存档时,是采用latin1编码存档,结果在phpmyadmin
汇出的时候,所得到的资料是乱码。
经过今天的实验,以下可将乱码资料转回成正确编码状态:
<?php
//读取档案
$content = file_get_contents("db.sql");
//将文字从utf8转成latin1编码(当初在phpmyadmin介面是指定utf8浏览)
$content = mb_convert_encoding($content,'latin1','utf8');
//输出
echo $content;
?>
以上重点在於要把phpmyadmin当时在汇出的时候,当时所采用的编码给转回去latin1
嗯...後来我都用utf8编码,所以都没再遇到这样的问题,
是刚好今天在转旧系统的资料,碰巧又遇到编码上的问题,
好奇心的驱使下来解决六年前我不会的问题...
(以前我不会解决 Orz)
如果各位先进早就都会了,就当我野人献曝吧 ~ T_T
--
从一代一代的问候就看的出来
老手对新手的照顾
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.130.212.222
1F:→ kylekai:这样转..理论上会出错得... 10/27 16:27
2F:→ cjoe:big5(WEB)->latin1(DB)->utf8(phpmyadmin) 10/27 16:29
3F:→ cjoe:我今天是这样解决问题的 T_T 10/27 16:29
4F:推 buganini:是不会出错 但也不算正确 只是latin1刚好包含1byte中 10/28 10:43
5F:→ buganini:所有可能的value 当byte string用而已 10/28 10:43
6F:→ buganini:不过那是旧系统的问题.. 10/28 10:44