백엔드 개발 PHP 튜토리얼 关于PHP文件及编码的有关问题

关于PHP文件及编码的有关问题

Jun 13, 2016 pm 01:22 PM
ascii mysql php quot utf8

关于PHP文件及编码的问题
1:PHP代码文件本身的编码格式,是GB或者UTF8会影响什么?
2:PHP代码文件中是混杂的,有GB又有UTF8会导致什么样的不好结果么?
3:PHP语言中的字符串编码格式是什么?(比如C语言就是ASCII,但C#就是UNICODE,不知道PHP是什么)
4:PHP代码文件的编码格式跟MYSQL的数据库字符编码格式不同会导致什么不好的结果么?
5:MYSQL本身的编码格式会影响输出到页面上的文字的效果么?

问题好像有点多了,请大家指教,非常感谢.一定及时结帖给分.

------解决方案--------------------
1:PHP代码文件本身的编码格式,是GB或者UTF8会影响什么?
只要与 html 语言声明不冲突,就没有关系

2:PHP代码文件中是混杂的,有GB又有UTF8会导致什么样的不好结果么?
多半会差生“乱码”,而使你无所适从

3:PHP语言中的字符串编码格式是什么?(比如C语言就是ASCII,但C#就是UNICODE,不知道PHP是什么)
由你决定

4:PHP代码文件的编码格式跟MYSQL的数据库字符编码格式不同会导致什么不好的结果么?
只要通知 mysql 需要什么编码的内容,没有不好的结果

5:MYSQL本身的编码格式会影响输出到页面上的文字的效果么?
不会

------解决方案--------------------
1.一个人的血型是 O 或者A 会有什么影响?

2.一个人的血型又是O 又是A 某个时候是正常的 比如可能产生了稀有血液,大多数时候是直接死亡。

3.php你就是造物主 你想怎么造就怎么造.

4.不同会让你戴上1000度的眼镜也无法看明白那串乱码到底是什么... 当然改造一下眼镜问题也就解决了。

5.数据库就是你的弹仓,如果你不一哆嗦...那么他不会发射出来,他会老老实实的呆着,直到....你觉得足够兴奋,你要输出了.这个时候你才要考虑编码格式的事情.正确的解决方法就是 在建这个弹仓的时候 先考虑好所有编码的统一,就万事具备了。


------解决方案--------------------
程序文件用什么编码无所谓,只要兼容ASCII就行。关键是数据库存储用UTF-8就行
------解决方案--------------------
首先文件本身的编码格式要指定,并且项目中要统一。其次就是参数编码也要指定统一,否则中文会乱码。与mysql的编码不一致,要么设置mysql数据库的编码集要么用php转码函数转码,否则中文乱码
------解决方案--------------------
大神来了。(- -#)


源代码中的字面常量字符串的编码直接受源代码文件编码控制,举例:

$str = "你好吗";

1,如果是GBK编码保存的这三个汉字,那么硬盘上实际占用了6个字节。
2,如果是UTF8编码保存的这三个汉字,那么硬盘上实际占用了超过6个字节。

假如文件是UTF8保存的,那么你希望转化这个字符串为GBK的,并发给浏览器。

那么mb_convert_encoding($str, "utf8", "gbk")就会得到一个gbk编码的“你好吗”,而你这个函数的调用的效果就是告诉PHP解释器:这个字符串里的字节是UTF8编码的,你得按照UTF8编码解释这一段字节,并将这三个字符转化成GBK编码的6个字节。 

之后echo输出到浏览器,并content type告诉浏览器这一段字节是gbk的,请按照gbk编码去解释这6个字节。
------解决方案--------------------
看了你这边说的有点晕....
CI的代码...如果没有记错,应该都是英文等...
新浪的开放平台不知道,但是一般情况下,代码也应该都是英文及符号等....

对于127以下的ascii字符,包括英文及符号,数字, 他们的ascii码和utf8码是完全一样的....
所以可能不存在你说的需要统一的问题


探讨

呵呵,楼上的解释真油菜~

其实现实情况是这样的,我的一个PHP项目,使用的是CI框架,它的代码本身是ANSI编码的,然后我们的项目里面又调用了新浪的开放平台接口,它提供的接口代码又是UTF-8的,这该如何是好?难道手动统一一遍?

请大神们救命~谢谢

------解决方案--------------------
怎么处理?改成统一的编码
当然你也可以给 php 部分请个翻译。php 提供了 mb_string 和 iconv 两个函数组,都可以方便的解决你的问题
------解决方案--------------------
探讨

1:PHP代码文件本身的编码格式,是GB或者UTF8会影响什么?
只要与 html 语言声明不冲突,就没有关系

2:PHP代码文件中是混杂的,有GB又有UTF8会导致什么样的不好结果么?
多半会差生“乱码”,而使你无所适从

3:PHP语言中的字符串编码格式是什么?(比如C语言就是ASCII,但C#就是UNICODE,不知道PHP是什么)
由你决定

4:PHP代码文件的编码……

------解决方案--------------------
探讨
1:PHP代码文件本身的编码格式,是GB或者UTF8会影响什么?
2:PHP代码文件中是混杂的,有GB又有UTF8会导致什么样的不好结果么?
3:PHP语言中的字符串编码格式是什么?(比如C语言就是ASCII,但C#就是UNICODE,不知道PHP是什么)

------解决方案--------------------
探讨
可是还是碰到一个问题,就是一个项目中,如果有一部分PHP文件中含了中文字符,比如要echo出一些文本到页面,然后另一个PHP文件中也包含了中文,但这个文件是UTF-8编码的,在输出的时候按前面各位讲的方法可以控制,但是用IDE编辑代码的时候就比较痛苦,比如NetBeans,要指定一个项目的编码格式,如果指定为ANSI,那UTF8那些页面编辑时就显示乱码,如果指定为UTF8那么有ANSI编码的那些文件编辑时就显示为乱码,所以很不方便.今天又试了一下VS.PHP,还没确认是否可能规避这个问题.
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

파일 업로드 작업을 위해 양식 도우미를 사용할 것입니다. 다음은 파일 업로드의 예입니다.

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법 MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법 Dec 09, 2024 am 11:42 AM

MySQL 8.4(2024년 최신 LTS 릴리스)에 도입된 주요 변경 사항 중 하나는 "MySQL 기본 비밀번호" 플러그인이 더 이상 기본적으로 활성화되지 않는다는 것입니다. 또한 MySQL 9.0에서는 이 플러그인을 완전히 제거합니다. 이 변경 사항은 PHP 및 기타 앱에 영향을 미칩니다.

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP 빠른 가이드 CakePHP 빠른 가이드 Sep 10, 2024 pm 05:27 PM

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? Feb 07, 2025 am 11:57 AM

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

CakePHP 유용한 리소스 CakePHP 유용한 리소스 Sep 10, 2024 pm 05:27 PM

다음 리소스에는 CakePHP에 대한 추가 정보가 포함되어 있습니다. 이에 대한 더 깊은 지식을 얻으려면 이를 활용하십시오.

See all articles