首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mysql或php中将'u00e9‘转换为utf8字符?

问如何在mysql或php中将'u00e9‘转换为utf8字符?
EN

Stack Overflow用户
提问于 2011-08-15 11:02:41
回答 3查看 63.7K关注 0票数 25

我正在对导入到mysql中的一些杂乱的数据进行一些数据清理。

数据包含“伪”unicode字符,这些字符实际上以“u00e9”等形式嵌入到字符串中。

因此其中一个字段可能是..'Jalostotitlu00e1n‘我需要去掉那个笨拙的'u00e1n’,并将其替换为相应的utf字符

我可以在mysql中使用substring和CHR来做这件事,但我是通过PHP预处理数据的,所以我也可以在那里做。

我已经知道如何配置mysql和php来处理utf数据。问题实际上只是在我正在导入的源数据中。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-15 11:40:59

有个办法。将所有的uXXXX替换为它们的HTML表示并执行一个html_entity_decode()

即echo html_entity_decode("Jalostotitlán");

表单u1234中的每个UTF字符都可以在HTML中打印为ሴ。但是进行替换是相当困难的,因为如果没有其他字符来标识UTF序列的开始,可能会有很多误报。一个简单的正则表达式可以是

preg_replace('/u([\da-fA-F]{4})/', '&#x\1;', $str)

票数 17
EN

Stack Overflow用户

发布于 2015-05-15 19:55:37

用于将utf8 html转换为ansi的/*函数php */

代码语言:javascript
复制
public static function Utf8_ansi($valor='') {

    $utf8_ansi2 = array(
    "\u00c0" =>"À",
    "\u00c1" =>"Á",
    "\u00c2" =>"Â",
    "\u00c3" =>"Ã",
    "\u00c4" =>"Ä",
    "\u00c5" =>"Å",
    "\u00c6" =>"Æ",
    "\u00c7" =>"Ç",
    "\u00c8" =>"È",
    "\u00c9" =>"É",
    "\u00ca" =>"Ê",
    "\u00cb" =>"Ë",
    "\u00cc" =>"Ì",
    "\u00cd" =>"Í",
    "\u00ce" =>"Î",
    "\u00cf" =>"Ï",
    "\u00d1" =>"Ñ",
    "\u00d2" =>"Ò",
    "\u00d3" =>"Ó",
    "\u00d4" =>"Ô",
    "\u00d5" =>"Õ",
    "\u00d6" =>"Ö",
    "\u00d8" =>"Ø",
    "\u00d9" =>"Ù",
    "\u00da" =>"Ú",
    "\u00db" =>"Û",
    "\u00dc" =>"Ü",
    "\u00dd" =>"Ý",
    "\u00df" =>"ß",
    "\u00e0" =>"à",
    "\u00e1" =>"á",
    "\u00e2" =>"â",
    "\u00e3" =>"ã",
    "\u00e4" =>"ä",
    "\u00e5" =>"å",
    "\u00e6" =>"æ",
    "\u00e7" =>"ç",
    "\u00e8" =>"è",
    "\u00e9" =>"é",
    "\u00ea" =>"ê",
    "\u00eb" =>"ë",
    "\u00ec" =>"ì",
    "\u00ed" =>"í",
    "\u00ee" =>"î",
    "\u00ef" =>"ï",
    "\u00f0" =>"ð",
    "\u00f1" =>"ñ",
    "\u00f2" =>"ò",
    "\u00f3" =>"ó",
    "\u00f4" =>"ô",
    "\u00f5" =>"õ",
    "\u00f6" =>"ö",
    "\u00f8" =>"ø",
    "\u00f9" =>"ù",
    "\u00fa" =>"ú",
    "\u00fb" =>"û",
    "\u00fc" =>"ü",
    "\u00fd" =>"ý",
    "\u00ff" =>"ÿ");

    return strtr($valor, $utf8_ansi2);      

}
票数 29
EN

Stack Overflow用户

发布于 2013-11-25 06:05:13

我的twitter时间线脚本将像é这样的特殊字符返回到\u00e9中,所以我去掉了反斜杠并使用@rubbude他的preg_replace。

代码语言:javascript
复制
// Fix uxxxx charcoding to html
$text = "De #Haarstichting is h\u00e9t medium voor alles Into:  De #Haarstichting is hét medium voor alles";
$str     = str_replace('\u','u',$text);
$str_replaced = preg_replace('/u([\da-fA-F]{4})/', '&#x\1;', $str);

echo $str_replaced;

它对我有效,它将:De #Haarstichting is h\u00e9t medium voor alles转换为:De #Haarstichting is hét medium voor alles

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7061339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档