我使用PHP开发一个网站,并使用PHP ODBC函数连接到Sybase数据库。
有一个与客户相关的网页,用于输入他们的数据以确认网站中提供的服务。
我使用Ajax从数据库中获取客户数据,以防客户输入数据库中存在的ID,因为我进行查询以获取他的数据,例如Number,Name,Mobile,Email和我将这些数据连接起来我使用像*这样的分隔符使其成为一个字符串然后在操作Ajax时使用Javascript文件中的substr()函数划分字符串并返回结果。我将返回的值分配给网页中显示的文本框。
即使发送的客户记录中遗漏了一些数据,这种情况仍然很完美。
我的问题是数据库有两种语言存储在其中:英语和阿拉伯语。 它完全符合英语,但当客户数据是阿拉伯语时,Javascript就像没有数据一样,或者将它编码为无法读取的奇怪字符。
当我检查与语言和字符编码相关的所有问题并使用UTF-8和Windows-1256以及在PHP和Javascript文件中使用编码转换函数并确保文件编码本身时,我如何解决这个问题。
一般情况下,我使用Windows-1256在我的php网页中显示阿拉伯语,就像我使用UTF-8一样,来自数据库的阿拉伯语动态数据无法很好地显示,但阿拉伯语静态数据直接写在网页中没关系。
任何帮助都表示赞赏,并提前致谢.....
答案 0 :(得分:0)
那么,
首先:在HTML页面的开头添加
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
第二: 如果您使用 encodeURIComponent
使用AJAX编码数据第三: PHP页面的第一行应该是
header('Content-Type: text/html; charset=utf-8');
使用 urldecode
解码发送给PHP的数据另外,如果您使用oracle作为DB使用,则以下连接字符串:$ connect = oci_connect($ UserName,$ Password,$ db_name,'AL32UTF8')
此致