php - 网站整理的问题

标签 php html mysql utf-8 collation

我正在制作一个以立陶宛语存储信息的网站。 它基本上由所有拉丁字母和一些独特的字母组成: Ąą, Čč, Ęę, Ėė, Įį, Šš, Ųų, Ūū, Žž。

我正在尝试将我的数据库排序规则设置为 utf8_general_ci 或 cp1257_lithuanian_ci。 不过,我更喜欢使用 utf8_general_ci。

在页面上打印立陶宛字符时,这些归类中的任何一个都可以正常工作, 但是 php 代码似乎不理解立陶宛语字符。例如 - 当我尝试将所有立陶宛字符交换为类似的拉丁字母(Ą = A,Ė = E)时 php 无法将这些字母与代码中描述的立陶宛字母相匹配。当我尝试小写立陶宛文字时,立陶宛字母变成了 2 个拉丁字母。

我应该尝试更改什么以使其工作?

编辑:

代码:

<?php
    echo 'ĄąČčĘęĖėĮįŠšŲųŪūŽž';
?>

返回:

Ä„Ä…ÄĨÄęĖėĮÄÄÅ ÅŲųÅŖūŽž

我已经做了什么:

-All files set to "UTF8 No Mark"
-Html has a propper meta tag
-Mysql database collation is "utf8_general_ci"

最佳答案

确保您的文件是没有 BOM 编码的 UTF-8。

并且您的 php 页面应该发送一个 UTF-8 header :

header("Content-Type: text/html; charset=utf-8");

关于php - 网站整理的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16253321/

相关文章:

PHP 注册脚本不工作

html - 使用 CSS 和 HTML 的水平菜单

PHP:将字符串转换为多维数组

php - 按最大计数聚合查询 (MYSQL)

html - Angular自定义标签不渲染和执行功能

html - 带有图像 bg 的 Img 类删除边框

mysql - 为什么我的 (MySQL) INSERT 操作失败?

java - 有没有更有效的方法来提高嵌套循环查询的性能

php - 防止重复条目 - Ajax 不返回错误。 PHP MySQL jQuery

php - 使用 jQuery AJAX 更新数据库只能运行一次