【问题标题】:How to replace accents like \u0219 in PHP?如何在 PHP 中替换像 \u0219 这样的重音符号?
【发布时间】:2012-07-20 20:21:32
【问题描述】:

我有一个 PHP 脚本,Ajax 函数使用它在 MySQL 数据库中传递一些输入变量。但是像“Camping Dragoske, DN73C, Burluşi”这样的字符串存储在 MySQL 数据库中,如“Camping Dragoske, DN73C, BurluÈ™i, România”,并被 ajax.php 文件捕获,如“Camping Dragoske, DN73C, Burlu \u0219i,罗马\u00e2nia”。

我的HTML字符集编码是UTF-8,MySQL表设置为utf8_general_ci,字段设置为utf8_unicode_ci

【问题讨论】:

  • 我会尝试做类似的事情:stackoverflow.com/questions/3959626/…
  • 您是否使用 jQuery 进行 Ajax 调用?否则,您可能需要自己将 Javascript 内部使用的字符集转换为 UTF-8。
  • 无论您使用什么来查看它是如何“存储在数据库中”的,都无法正确显示 UTF-8,从外观上看。无论如何,实际字节对于解决这个问题很重要;但显然, ș 被存储为字节 0xC8 0x99 就像它应该的那样。
  • @tripleee 我正在使用 phpmyadmin。
  • @Wolfgang Stengel。是的,我使用 jquery 进行 ajax 调用。

标签: php unicode replace diacritics


【解决方案1】:

这可能是由于 MySQL 连接的编码。对于一个没有bug的utf8环境,你需要将页面、数据库和mysql连接设置为UTF-8。

试试这个功能:

mysql_set_charset('utf8');

或者更好的使用mysqli:

$mysqli->set_charset("utf8");

http://php.net/manual/fr/mysqli.set-charset.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    • 2020-12-19
    • 2013-12-23
    • 2015-05-04
    • 2011-02-08
    • 2017-11-09
    • 1970-01-01
    相关资源
    最近更新 更多