首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将土耳其字符更改为UTF8编码字符

将土耳其字符更改为UTF8编码字符
EN

Stack Overflow用户
提问于 2014-05-21 19:28:57
回答 1查看 1.1K关注 0票数 0

我试图将土耳其字符更改为英文字符,但没有变化。我想在mysql database.Mysql上运行查询,query.So不接受土耳其字符,我不能运行查询。

我的SQL查询是:

代码语言:javascript
复制
$sql_test="SELECT a.order_id as siparis_no,
           a.firstname as isim,
           a.lastname as soyisim,
           b.name as urun_Adi
           FROM zisl8_mijoshop_order a
           LEFT JOIN zisl8_mijoshop_order_product b
           ON a.order_id=b.order_id
           WHERE a.date_added>'$t_bas' and a.date_added < '$t_bit' AND b.name='Genel Bağış'
           ";

我的PHP替换代码:

代码语言:javascript
复制
$replace  = array('i', 's', 'o', 'c', 'g', 'u', 'I', 'G', 'O', 'C', 'S', 'U');
$search = array('ı', 'ş', 'ö', 'ç', 'ğ', 'ü', 'İ', 'Ğ', 'Ö', 'Ç', 'Ş', 'Ü');

$str='Genel Bağış';
$str=str_replace($search,$replace,$str);

我知道当尝试使用codes.But在页面上显示回显时没有问题:

字符串显示如下'Genel Bağış‘。看来我不想做任何改变。

当我手动更改字符串时,MySQL查询不会work.But,如下所示:

代码语言:javascript
复制
$sql_test="SELECT a.order_id as siparis_no,
           a.firstname as isim,
           a.lastname as soyisim,
           b.name as urun_Adi
           FROM zisl8_mijoshop_order a
           LEFT JOIN zisl8_mijoshop_order_product b
           ON a.order_id=b.order_id
           WHERE a.date_added>'$t_bas' and a.date_added < '$t_bit' AND b.name='Genel Bagis'
           ";

查询是working.String的'Genelğış‘来自mysql,db.This是为了说明我的问题。

我在哪里搞错了,请帮帮忙?

EN

回答 1

Stack Overflow用户

发布于 2014-05-21 20:25:08

在每个PHP输出头中,指定UTF-8作为编码:

代码语言:javascript
复制
header('Content-Type: text/html; charset=utf-8');

mysql_*

代码语言:javascript
复制
$link = mysql_connect('localhost', 'user', 'password');
mysql_set_charset('utf8', $link);

mysql_*被废弃为

mysqli

代码语言:javascript
复制
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
$mysqli->set_charset("utf8");

PDO

代码语言:javascript
复制
$pdo = new PDO(
    'mysql:host=mysql.example.com;dbname=example_db',
    "username",
    "password",
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

在MySQL方面,需要对my.ini文件进行如下修改:

代码语言:javascript
复制
[client]
default-character-set=UTF-8

[mysql]
default-character-set=UTF-8

[mysqld]
character-set-client-handshake = false #force encoding to uft8
character-set-server=UTF-8
collation-server=UTF-8_general_ci

[mysqld_safe]
default-character-set=UTF-8
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23792144

复制
相关文章

相似问题

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