大侠救命我被UTF8快弄死了!

yueyang 2009-01-10 09:45:48
我原来PHP4、APACHE1.3、MYSQL4.0、PHPMYADMIN2.6.2,昨天升级PHP5.2、APACHE2.0、MYSQL5.1、PHPMYADMIN3.1.1,数据在PHPMYADMIN2.6.2导出后导入3.1.1,在PHPMYADMIN下能看到正常显示的汉字,之前2.6.2就选的是简体中文UTF8的,3.1.1倒是只有简体中文一个选项。
发现我的程序读出来的全部变成了???,我的HTM页面设的是UTF8没有改动过。
昨天下午临下班突然都正常了,我的程序看到了正常的汉字,PHPMYADMIN也正常。
但是今天早上一开本子休眠模式的恢复过来,结果我的程序里有变???了,无奈通过我的程序写入汉字,发现我的程序那刚写入的正常显示,但PHPMYADMIN中却变:kkk1kadf中文,究竟哪里有问题呢?
...全文
253 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
helloyou0 2009-01-11
  • 打赏
  • 举报
回复

这个问题,以前有个总结贴的,搜一下
xiongbing529 2009-01-10
  • 打赏
  • 举报
回复
还是编码统一问题.
dubiousway 2009-01-10
  • 打赏
  • 举报
回复
也不是必需。你的程序、系统、数据库、显示界面如果编码一致,一部分字符编码的表可以不用。
但是这样程序移植性很差。

但是昨天下午自己突然正常了又怎么解释呢? 确实很有意思,可能大家没谁能解释清楚,也许你运行前,环境变量被什么改变也说不定。

除了字符集,还有校正连接的原因,所以即使<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> ,还是一般情况还是必须set names utf8
yueyang 2009-01-10
  • 打赏
  • 举报
回复
那就是说mysql_query("SET NAMES 'UTF8'");这个不管什么时候必须在数据库连接后要加了?
程序猿之殇 2009-01-10
  • 打赏
  • 举报
回复
mysql4.1以后加入了编码的处理.
出现乱码很正常

你要注意几点,必须严格遵守.
1 phpadmin首页有mysql连接的编码.
2 建库的时候有编码指定
3 建表的时候有编码指定.
yueyang 2009-01-10
  • 打赏
  • 举报
回复
mysql_query("SET NAMES 'UTF8'");
我已经设了这个解决了,但是难道我在页面里
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
这个下面输入和显示出来的汉字还必须如此?
但是昨天下午自己突然正常了又怎么解释呢?
dubiousway 2009-01-10
  • 打赏
  • 举报
回复
当然,如果你是读取硬盘上的一个文件,这个文件本身是utf8编码的话,那么在写入数据库时就不能转换了。
dubiousway 2009-01-10
  • 打赏
  • 举报
回复
1。
发现我的程序读出来的全部变成了???,我的HTM页面设的是UTF8没有改动过。

当你用程序读取时,程序中,必须在连接数据后操作后,首先执行“set names utf8”的query操作。(不知道你是否执行了)

2。
无奈通过我的程序写入汉字,发现我的程序那刚写入的正常显示,但PHPMYADMIN中却变:kkk1kadf中文,究竟哪里有问题呢?
这个很容易出错的。
首先你仍然要执行上面的“set names utf8”操作。

因为你通过程序写入汉字,这涉及到你程序中的汉字来源(是在程序中定义的字符串中的汉字,还是来自另一个硬盘上的文件),而且还和你使用的程序编辑器的编辑窗口的编码有关。
简单说,如果你是在中文系统下,如果你在程序里定义了一个汉字字符串,那么写入数据库前,要做编码转换,从gb2312转换为utf8再写入。
yueyang 2009-01-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dubiousway 的回复:]
引用楼主 yueyang 的帖子:
昨天下午临下班突然都正常了,我的程序看到了正常的汉字,PHPMYADMIN也正常。
但是今天早上一开本子休眠模式的恢复过来,结果我的程序里有变???了

很神奇。


你的数据库字符集是什么?

mysql> show variables like 'character%';

结果看看
[/Quote]
+--------------------------+-------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:\MySQL\MySQL Server 5.1\share\charsets\ |
+--------------------------+-------------------------------------------+
dubiousway 2009-01-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 yueyang 的帖子:]
昨天下午临下班突然都正常了,我的程序看到了正常的汉字,PHPMYADMIN也正常。
但是今天早上一开本子休眠模式的恢复过来,结果我的程序里有变???了[/Quote]

很神奇。


你的数据库字符集是什么?

mysql> show variables like 'character%';

结果看看
Zijian_Zhang 2009-01-10
  • 打赏
  • 举报
回复
把MySQL的配置编码的,统一成UTF-8的,建表时也要指定编码,读取时,也要set names utf8;,这样应该没有什么问题。

那个突然正常,可能是你的浏览器搞了什么设置,指定了UTF-8为编码,这个问题有些奇怪,有时候我浏览一些网页,有时可以,有时是乱码,但是只要统一编码就可以了。
内容概要:本文档详细介绍了“南方数码房地一体内外业软件”的操作流程,涵盖从数据准备、外业调查、内外业数据对接,到内业数据处理与成果输出的完整工作链。主要包括调查底图制作(支持DWG、MDB、SHP及倾斜三维模型等多种数据源)、导出外业IDB工程文件、平板端外业调查(宗地与房屋核实、电子签章表确认、照片导出)、内外业数据对接(DB与照片数据导入),以及内业的宗地信息完善、界址属性设置、自然幢生成、房屋面积计算、户属性录入,并最终输出宗地图、房产分户图、各类报表及MDB数据库等成果。; 适合人群:从事农村房地一体权籍调查的测绘、不动产登记及相关地理信息行业的内业处理人员、外业调查员和技术管理人员,需具备基础GIS或CAD操作能力; 使用场景及目标:①指导用户系统完成从原始数据到不动产登记成果的全流程作业;②实现外业调查数据高效采集与内业自动化处理衔接,提升房地一体确权登记工作的标准化与效率; 阅读建议:建议结合实际项目按章节顺序操作,重点关注数据格式转换、IDB工程交互逻辑及成果图输出设置,配合软件界面逐步实践,确保各环节数据完整性与准确性。
内容概要:本文围绕“面向高精度电流控制的PMSM多参数PSO辨识模型研究”,结合Simulink仿真实现,系统探讨了在高性能电机控制背景下,如何利用粒子群优化算法(PSO)对永磁同步电机(PMSM)电流环的关键参数进行多参数协同辨识。研究通过建立PMSM的精确动态数学模型,设计基于PSO的参数辨识框架,实现了对电机电感、电阻、反电动势常数等核心参数的高效在线或离线辨识,有效提升了电流控制的精度与系统鲁棒性。文中详细阐述了PSO算法的实现机制,包括适应度函数构造、参数编码策略与收敛判据,并在Simulink中构建了完整的联合仿真平台,通过大量仿真实验验证了该方法相较于传统辨识技术在准确性、稳定性和适应性方面的显著优势,为高动态性能电机驱动系统的参数获取提供了可靠的技术路径。; 适合人群:自动化、电气工程、控制科学与工程等相关专业的研究生、科研人员及从事高性能电机驱动系统开发的工程师。; 使用场景及目标:①应用于高端制造、新能源汽车、航空航天等领域中对电流控制精度要求极高的PMSM控制系统开发;②作为智能优化算法(如PSO)在电机参数辨识领域应用的典型案例,服务于教学演示与学术研究;③为后续开展自适应控制、智能容错控制及多物理场耦合建模等前沿课题提供坚实的参数辨识基础和技术参考。; 阅读建议:读者应具备扎实的电机控制理论基础(如FOC矢量控制、现代控制理论)以及熟练的MATLAB/Simulink仿真能力,建议在学习过程中结合文中的仿真模型,动手复现PSO参数辨识的完整流程,深入分析算法参数设置对辨识结果的影响,从而全面掌握其工程应用精髓。
内容概要:本文提出了一种基于粒子群优化算法(PSO)的配电网光伏储能双层优化配置模型,以IEEE33节点系统为标准算例,实现光伏发电单元与储能系统的协同选址与定容优化。该模型采用双层架构设计,上层以投资成本、运行经济性及网络损耗最小为目标优化设备配置方案,下层通过潮流计算评估系统在不同负荷场景下的运行性能,综合考虑电压稳定性、供电可靠性及可再生能源消纳能力,最终通过Matlab编程实现完整求解流程,为高渗透率分布式电源接入背景下的配电网规划提供了有效的技术支撑。; 适合人群:具备电力系统分析基础和Matlab编程能力的研究生、高校科研人员及从事新能源并网、智能配电网规划与优化的工程技术人员。; 使用场景及目标:①研究含高比例光伏接入的配电网规划与运行协同优化问题;②掌握双层优化建模方法与粒子群算法在复杂电力系统问题中的应用技巧;③为实际工程中分布式光伏与储能系统的科学选址与容量配置提供理论依据与仿真验证平台。; 阅读建议:建议读者结合Matlab代码深入理解双层迭代求解机制,重点关注算法收敛性分析、参数敏感性测试,并可通过更换初始种群、调整权重因子或引入其他标准测试系统(如IEEE69节点)进行对比实验,进一步验证所提模型的普适性与鲁棒性。

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧