我收到以下錯誤信息:僅在某些PHP文件中,MySQL的客戶端編碼錯誤?
Warning: mysql_connect() [function.mysql-connect]:
[2002] �Ώۂ̃R���s���[�^�ɂ����ċ��ۂ��ꂽ���߁A�ڑ��ł��܂����ł����B
(trying to connect via tcp://localhost:3306) in \includes\connect_to_mysql.php
on line 16
Here's a permanent link to the connect script: http://pastebin.com/zudvxuZX。
正如您所看到的,有些奇怪的字符正在輸出。我將編碼更改爲UTF-8
,並且我也嘗試ISO-2022-JP
,因爲我的操作系統語言是日語。錯誤消息看起來一樣。
那麼,我在另一頁上使用這個相同的連接腳本。它是完全一樣的,它的工作原理。所以,我在想:爲什麼在一個php文件中引用時會失敗,而在另一個php文件中引用時不會失敗?
是否有另一個地方可以查看此錯誤?或者是否有人知道我現在可以看到它正在輸出的完整錯誤,而沒有這些不尋常的字符?或者,有人能告訴我爲什麼連接腳本可能在一個位置而不是另一個位置失敗?這裏是位置:
工作:csite/includes/connect_to_mysql.php
不工作:dsite/includes/connect_to_mysql.php
我也通過引用相同的文件的connect_to_mysql.php腳本在不同的位置:
工作:csite/js/ajaxvalidate.js
不工作:dsite/js/ajaxvalidate.js
我是使用不同的index.php文件,雖然:
工作:csite/index.php
不工作:dsite/index.php
我也連接到同一個數據庫與兩個索引文件。
工作:$db_name = "ddata";
不工作:$db_name = "ddata";
編碼被明確/不同地設置?我相信這是一個「全球」的設置。查找「mysql_set_charset」或「SET NAMES」,也許?我認爲它可以用'mysql_client_encoding'查看,但我甚至不使用PHP :-) – 2011-12-09 03:12:40
我沒有設置mysql字符集。我只用了這行代碼:''。但是我記得在創建數據庫時將字符集設置爲utf-8。 –
兩個php腳本在同一個目錄下嗎?他們是否使用相同的內容編碼發送到您的瀏覽器(檢查與您的網頁一起發送的標題)?如果你搗鼓你的瀏覽器的編碼,你可以閱讀它嗎?如果服務器設置字符集,那麼元標記通常會被瀏覽器忽略。 – jswolf19