php - 为什么相同编码的字符串在 MySQL 和 HTML 上呈现不同的效果?

标签 php mysql html encoding

这是我在 HTML 表单中输入的输入字符串:

람다 대수(λ -, lambda -)는 함수 정의, 함수 적용, 귀납적 함수를 수식으로 표현하기 위한 형식 체계이다. 1930년대 알론조 처치가 수학기초론을 연구하는 과정에서 람다 대수의 형식을 제안하

这是出现在 TINYTEXT 类型的 MySQL database 字段中的字符串:

람다 대수(λ -, lambda -)는 함수 ì •ì˜, 함수 ì ìš©, ê·€ë‚©ì  í•¨ìˆ˜ë¥¼ 수ì‹ìœ¼ë¡œ 표현하기 위한 í˜•ì‹ ì²´ê³„ì´

这是查询时 HTML 页面上的输出:

람다 대수(λ -, lambda -)는 함수 정의, 함수 적용, 귀납적 함수를 수식으로 표현하기 위한 형식 체계이

HTML 和数据库均采用 UTF-8 编码。有两件事想请教一下:

  1. 为什么 MySQL 数据库中的字段与 HTML 中的字段呈现不同?
  2. 我该怎么做才能捕获上述字符串的长度(以字节为单位) 确保它在 TINYTEXT 的 255 限制之内?

最佳答案

很可能是最常见的陷阱:您没有将数据库连接设置为正确的编码。请参阅why do i have to use mb_convert_encoding($name,'ISO-8859-15','utf-8') to get accented chars to display? .

关于php - 为什么相同编码的字符串在 MySQL 和 HTML 上呈现不同的效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8104082/

相关文章:

php - XML 解析 - PHP 编码

php - 尽管字符集和排序规则正确,但网页输出问号而不是 unicode 字符?

php - 如何检查 ffmpeg 是否用 PHP 完成了视频编码?

php - 使用 cURL 接受 cookie?

mysql - 带有隐式默认值的警告 TIMESTAMP 已弃用

php - 如何对两个数据库的结果进行排序

html - 用于更改表格单元格内容的 CSS 复选框

html - 制作相对路径 HTML 快捷方式

PHP 日期之间的比较

MySQL GROUP_CONCAT 防止不必要的重复