我最近将我的 webapp 从本地主机 (LH) 转移到 VPS,从那时起就遇到了希伯来字符编码问题。每当我发送带有希伯来字符的请求时,都会将“????”保存到数据库中。
我的 LH 配置是 tomcat6、MySQL 和 centOS 6.2,已打开网络。在 VPS 环境中,我位于 Apache Web 服务器后面,其余部分完全相同(尽管我没有对其安装进行任何操作)。请注意,我之前在 LH 上遇到过这个问题,当时请求是从 IE/chrome(不是 FF!)发送的。解决方案是在上下文中应用过滤器并将字符类型更改为 UTF-8。
我的 webapp 内容 char-encode 是 utf-8,MySql 服务器设置为 utf8 使用字符集utf8;,并且我的 centOS 设置为 iw_IL.UTF8 使用导出 LANG=iw_IL.UTF8.当我使用区域设置bash 输出似乎设置正确。
有什么建议么?
答案1
确保 my.cnf 和 php.ini 中的所有连接都使用 utf8 编码
我的cnf
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
character-set-server=utf8
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'
[client]
default-character-set=utf8
php.ini
default_charset = "utf-8"
答案2
只需将 WHM 中的“default_charset”留空 :::::: default_charset =''
ps 在 WHM 中转到 --------) 主页 » 服务配置 » PHP 配置编辑器 ----) 单击“高级模式” ----) 找到“default_charset”并将其留空 ---- 什么都没有,不是 utf8,不是 ISO