php-如何将日语编码为“ Japanに行って”之类的文字? (UTF-8)

如标题中的问题所述.
我似乎找不到以下任何一种答案:
php标头,css标头,html标头,mysql字符集(至utf8_general_ci),或

<form acceptcharset="utf-8"... >

真的很困扰这一点.

我基本上正在经历这个过程:

>输入日语字符,通过表格进行处理
>表单保存在MySQL DB中
> PHP将数据从MySQL DB中提取出来,并格式化为网页

在第3步中,我检查代码,发现它确实显示了日语字符.
因为这样做,我猜测它正在导致我得到的PHP错误(对英文字符有效的功能对日语文本无效.)

所以我想以UTF-8格式编码,但是我不确定该怎么做?

编辑:这是我在日语文本上使用的PHP函数

function short_text_jap($text, $length=300) { 
    if (strlen($text) > $length) { 
            $pattern = '/^(.{0,'.$length.'}\\b).*$/s'; 
            $text = preg_replace($pattern, "$1...", $text); 
    } 
    return $text;

但是,它不会缩短文本的数量,而是返回整个内容.

解决方法:

关于UTF8是什么,似乎有些混乱:通过将目标声明为获得日语文字的“ UTF8版本”.

&#26085;是已经以某种编码表示的与ASCII兼容的HTML实体(基本上是Unicode引用),而UTF8是一种多字节编码方案,用于定义如何在字节级别存储字符.

我建议依靠文字形式,因为它会使国际字母的混乱变得更易于管理.

只需随处迁移到UTF8:在数据库,HTML,PHP和文件类型中.然后可以使用旨在处理多字节字符的PHP Multibyte String扩展:

mb_internal_encoding("UTF-8");

function short_text_jap($text, $length=300) {
    return mb_strlen($text) > $length ? mb_substr($text, 0, $length) : $text;
}

echo short_text_jap('日本語', 2); // outputs 日本
上一篇:在PHP中启用json_encode


下一篇:php urlencode是否与java urlencode相同?