php 韩文乱码转换,Unicode字符编码之十进制韩文转为字符
字符串中出现韩文没能正常显示,在网页中显示了这样的十进制字符:
标题-어디부터 어디까지
期望韩文能正常显示出来:
标题-어디부터 어디까지
韩文的unicode范围
韩文字母 (1100–11FF) 10进制4352-4607 韩文兼容字母 (3130-318F) 10进制12592-12687 韩文音节 (AC00-D7AF) 10进制44032-55215 目前电脑可显示AC00-D7A3 10进制44032-55203 韩文字母扩展A (A960-A97F) 10进制43360-43391 韩文字母扩展B (D7B0-D7FF) 10进制55216-55295
通常用下面这段javascript正则表达式即可验证是否韩文:
/^([\uAC00-\uD7AF])*$/gi
PHP Unicode编码相互转换
/**
* $str 原始中文字符串
* $encoding 原始字符串的编码,默认utf-8
* $prefix 编码后的前缀,默认""
* $postfix 编码后的后缀,默认";"
*/
function unicode_encode($str, $encoding = 'utf-8', $prefix = '', $postfix = ';') {
//将字符串拆分
$str = iconv("UTF-8", "gb2312", $str);
$cind = 0;
$arr_cont = array();
for ($i = 0; $i < strlen($str); $i++) {
if (strlen(substr($str, $cind, 1)) > 0) {
if (ord(substr($str, $cind, 1)) < 0xA1) { //如果为英文则取1个字节
array_push($arr_cont, substr($str, $cind, 1));
$cind++;
} else {
array_push($arr_cont, substr($str, $cind, 2));
$cind+=2;
}
}
}
foreach ($arr_cont as &$row) {
$row = iconv("gb2312", "UTF-8", $row);
}
//转换Unicode码
foreach ($arr_cont as $key => $value) {
$unicodestr.= $prefix . base_convert(bin2hex(iconv('utf-8', 'UCS-4', $value)), 16, 10) .$postfix;
}
return $unicodestr;
}
/**
* $str Unicode编码后的字符串
* $decoding 原始字符串的编码,默认utf-8
* $prefix 编码字符串的前缀,默认""
* $postfix 编码字符串的后缀,默认";"
*/
function unicode_decode($unistr, $encoding = 'utf-8', $prefix = '', $postfix = ';') {
$arruni = explode($prefix, $unistr);
$unistr = '';
for ($i = 1, $len = count($arruni); $i < $len; $i++) {
if (strlen($postfix) > 0) {
$arruni[$i] = substr($arruni[$i], 0, strlen($arruni[$i]) - strlen($postfix));
}
$temp = intval($arruni[$i]);
$unistr .= ($temp < 256) ? chr(0) . chr($temp) : chr($temp / 256) . chr($temp % 256);
}
return iconv('UCS-2', $encoding, $unistr);
}
$str = "PHP二次开发:www.php2.cc";
$unistr = unicode_encode($str);
$unistr2 = unicode_decode($unistr);
echo $unistr . '
';
echo $unistr2 . '
';
$unistr = unicode_encode($str,'GBK','\\u');
$unistr2 = unicode_decode($unistr,'GBK','\\u');
echo $unistr . '
';
echo $unistr2 . '
';
php 韩文乱码转换,Unicode字符编码之十进制韩文转为字符相关推荐
- mysql concat 不同字符集_字符编码 - 如何将整个MySQL数据库字符集和排序规则转换为UTF-8?...
字符编码 - 如何将整个MySQL数据库字符集和排序规则转换为UTF-8? 如何将整个MySQL数据库字符集转换为UTF-8并将整理转换为UTF-8? 17个解决方案 591 votes 使用utf8 ...
- 字符编码的前世今生——一文读懂字符编码
文章目录 编码从故事说起 计算机的字符编码 ASCII 码表 GB2312 --中国人自己的编码表 GBK 编码 GB18030 其他编码 ISO-8859-1 Shift_JIS 和 Big5 UC ...
- python转换字符编码_转:Python常见字符编码及其之间的转换
一.Python常见字符编码 字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交 ...
- python进制转换,unicode,ascii编码转换
一.各进制的字符串转10进制~ int('字符串',2[16|8]) #可以把进制形式的字符串按照2进制|16进制|8进制的方式转成10进制 例: int('79',16) 121int('01010 ...
- mysql 乱码 越南_MySQL_mysql数据库乱码之保存越南文乱码解决方法,我自己测试一下,很多字符变 - phpStudy...
mysql数据库乱码之保存越南文乱码解决方法 我自己测试一下,很多字符变成了 '?'. 数据库连接已经是使用了 utf8 字符集: define("MYSQL_ENCODE", & ...
- 关于python字符编码_关于python文件的字符编码
# -*- coding: utf-8 -*-字符编码是啥? 在弄清楚字符编码是啥之前我们要先考虑一个问题.如果计算机最基础的就是0和1,那么他们是如何识别我们输入的英文字母和数字的. 下面是数学知识 ...
- 【转】刨根究底字符编码之四——EASCII及ISO 8859字符编码方案
1. 计算机出现之后,首先逐渐从美国发展到了欧洲.由于欧洲很多国家所用到的字符中,除了基本的.美国也用的那128个ASCII字符之外,还有很多衍生的拉丁字母等字符.比如,在法语中,字母上方有注音符号: ...
- java修改默认字符编码_设置默认的Java字符编码?
如何以编程方式正确设置JVM(1.5.x)使用的默认字符编码? 我已经读过-Dfile.encoding =以前是以往的方式去为旧的JVM -我没有那么奢侈的原因,我不会进入. 我努力了: Sys ...
- jsp java乱码转换_Java Web 编码问题一:jsp的编码问题
首先我们来看一张由eclipse生成的jsp文件的头: 图1:JSP文件编码 如上图所示jsp中的三个编码, ①代表的是服务器响应客户端请求的编码方式.服务器会用它来设置http响应头的content ...
最新文章
- 【AI】caffe使用步骤(四):训练和预测
- 自动机器学习:团队如何在自动学习项目中一起工作?(附链接)
- 当自动驾驶汽车撞过来的时候,你希望它如何判断?
- datagirdview跟据内容自动适应单元格大小
- 【知识星球】数据集板块重磅发布,海量数据集介绍与下载
- 干货 | 蚂蚁金服是如何实现经典服务化架构往 Service Mesh 方向的演进的?
- 软件工程概论_课堂测试
- Generator 函数的异步应用
- mysql rpl_MySQL管理工具MySQL Utilities — mysqlrplcheck(44)
- 分布式消息系列:详解RocketMQ的简介与演进、架构设计、关键特性与应用场景
- Git:本地Git仓库连接码云并新建分支提交
- 开关电源适配器原理_迅为i.MX6ULL开发板原理图分析介绍
- JS导出excel表格
- numpy中相关系数
- RoadRunner软件初步使用教程
- 玩转数据可视化之R语言ggplot2:(九)网络图绘制
- java实习面试题整理
- 服务器电源维修书籍,380G5服务器电源维修经历.pdf
- Scylla AntDB 安装
- Puppeteer之Pyppeteer——浏览某短视频,获取点赞和评论,收藏,转发数(5)