我处于mysql初级水平,正在从access过渡到mysql 运行了一个非常简单的例程,将一些数据从简单的 phpform 插入到 localhost 库中。 我遇到了一些斯拉夫字符(例如 čšž)的问题,因为它们无法正确显示
将 mysql 基本设置为 utf-8 编码,如果我直接输入它就可以正常工作
将所有元数据设置为
连接后得到这个
mysql_query("设置名称''utf8''整理''utf8_slovenian_ci''"); mysql_query("设置字符集''utf8_slovenian_ci'';");
还是会胡言乱语,比如这样的 Đ́́́́́́́́p 或这样的 Ǻpela
任何想法
最佳答案
处理 UTF-8 时,您必须确保一切都设置为使用 UTF-8。
您在数据库中正确启用了 UTF-8(确保该列也设置为使用 UTF-8;在我看来,最好使用 utf8_bin - 排序速度更快,且特定国家/地区更少)。
但是,网络服务器呢?
确保您的页面使用 UTF-8 并使用正确的元标记:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
此外,将 Web 服务器设置为使用 UTF-8 也没什么坏处:请参阅 this question ,例如。
最后,请记住 PHP 5 本身不支持 Unicode。因此,在使用字符串函数(例如 strencode、substr 等)时必须非常小心。某些字符串函数支持 Unicode(请参阅其文档)。在其他情况下,您可以使用 mbstring功能。
关于php - 获取mysql中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22335778/