Heim >Backend-Entwicklung >PHP-Tutorial >为什么会出现少量乱码?

为什么会出现少量乱码?

WBOY
WBOYOriginal
2016-06-23 14:19:441100Durchsuche

本帖最后由 u011263669 于 2013-08-20 19:33:32 编辑

我们公司的网站是个zencart电商网站
网站所有文件格式都是utf-8 无bom编码格式
网站录入数据时都先运行 sql:"set names utf8"
数据库中所有数据表都是 utf8 格式

但某些外国用户在我们网站上注册或者编辑信息,录入数据库时会出现乱码,这种情况出现率5%左右。为什么会出现乱码?怎么解决?

回复讨论(解决方案)

他浏览的时候的浏览器的网页编码可能不是utf8的,或者是翻译后浏览。可以用javascript得到客户端的编码

utf8_general 也有及少量的未收录的字符,例如俄罗斯的少数民族。但是这个原因的可能性极小,远远到不了5%。

出现乱码就是编码问题。
你的数据都是post方式提交到数据库的把?

会不会跟我用ajax post提交有关?
http://www.persunmall.com
我们公司的网站,能否帮我检查一下是否ajax提交发生的问题?

注册时就是ajax提交生成账号

两个解决方案:
1.ajax提交的时候,用+encodeURIComponent方法编码。
2.php端可以检查提交的是否是utf8编码。
检查方法 http://www.bo56.com/%E4%BD%BF%E7%94%A8%E6%AD%A3%E5%88%99%E6%A3%80%E6%B5%8B%E6%98%AF%E5%90%A6%E4%B8%BAutf8%E7%BC%96%E7%A0%81/

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn