首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在使用PHP、MySql时出现重音字符问题

在使用PHP、MySql时出现重音字符问题
EN

Stack Overflow用户
提问于 2012-02-09 03:27:19
回答 1查看 2K关注 0票数 0

我需要一些帮助在一个问题上,我与西班牙的特殊字符。简要总结一下我首先要做的事情。我写了一个PHP脚本,从谷歌电子表格获取数据使用Zend谷歌PHP API。然后将这些数据放入MySql数据库。

$row=$Col->getText(); //getText是返回行中的值的Google API。print "$row"; //我打印内容

但问题是,一些西班牙语字符,如ñer,看起来是as±er。稍后在PHP代码中,我将把这些值保存在MySql中。甚至在表格中也有同样的问题。不知道问题出在哪里。

我尝试了各种不同的方法,比如编辑PHP ini文件并添加:

代码语言:javascript
运行
复制
mbstring.language               = Neutral       ; Set default language to Neutral(UTF-8) (default)
mbstring.internal_encoding      = UTF-8         ; Set default internal encoding to UTF-8
mbstring.encoding_translation   = On            ;  HTTP input encoding translation is enabled
mbstring.http_input             = auto          ; Set HTTP input character set dectection to auto
mbstring.http_output            = UTF-8         ; Set HTTP output encoding to UTF-8
mbstring.detect_order           = auto          ; Set default character encoding detection order to auto
mbstring.substitute_character   = none          ; Do not print invalid characters
default_charset                 = UTF-8         ; Default character set for auto content type header
mbstring.func_overload  = 7 ; All non-multibyte-safe functions are overloaded with the mbstring alternatives

在MySql中添加以下内容

代码语言:javascript
运行
复制
init_connect='SET collation_connection = utf8_unicode_ci; SET NAMES utf8;'

character-set-server=utf8排序规则-server=utf8_unicode_ci跳过-字符集-客户端-握手

更改数据库和表属性

代码语言:javascript
运行
复制
ALTER DATABASE db_name
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci
; 

ALTER TABLE tbl_name
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
;

在mysql打开连接后调用SETNAMES等。

代码语言:javascript
运行
复制
$q="SET NAMES 'utf8'";
$r=mysql_query($q);
mysql_query("SET CHARACTER SET utf8");

但似乎什么都不起作用。请帮帮忙

EN

Stack Overflow用户

发布于 2012-02-09 03:40:19

检查浏览器是否也将页面呈现为UTF-8。尝试添加:

指向您的<meta http-equiv="Content-Type" content="text/html; charset=utf-8">页面的<head>

此外,$q="SET NAMES 'utf8'";应为$q="SET NAMES utf8"; (无引号)

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9200046

复制
相关文章

相似问题

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