❶ 如何解决php中文乱码问题
PHP中文乱码主要是编码不对,存在以下两种情况,你以此检查一下 ,改对编码就行了
1、 php文件本身的编码与网页的编码应匹配
a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。
b. 如果欲使用utf-8编码,那么php要输出头 :header(“Content-Type: text/html; charset=utf-8"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,所有文件的编码格式为utf-8。保存为utf-8可能会有点麻烦,一般utf-8文件开头会有BOM,如果使用 session就会出问题,可用editplus来保存,在editplus中,工具->参数选择->文件->UTF-8签名,选择总 是删除,再保存就可以去掉BOM信息了。
2. php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。
❷ 中文url编码、base64编码,PHP解码中文部分乱码
1. 如果服务器间的页面编码不一致,可能会出现乱码问题。例如,当对方服务器发送的是GBK编码的内容,而本地的PHP编码不是GBK时,接收到的内容就会出现乱码。
2. 解决此问题的两种方法:
- 方法一,将页面的编码更改为GBK。这可以通过在PHP中添加header('Content-Type:text/html charset=gbk');来实现。
- 方法二,将GBK编码的内容转换为当前页面的编码(假设当前页面编码为UTF-8)。可以使用iconv函数,将'gbk'转换为'utf-8',同时传入经过urldecode和base64解码后的字符串作为参数。
❸ 正常php上传图片要转成base64编码么,为什么要这么做
正常PHP上传图片不一定要转成Base64编码。是否这么做取决于具体的需求和系统设计。以下是关于这个问题的详细解答:
常见做法:
使用Base64编码的情况:
Base64编码的潜在缺点:
决策依据:
综上所述,正常PHP上传图片时是否转成Base64编码并没有固定的答案,而是需要根据实际需求和系统设计来决定。