На дане питання вже відповіли:
Результат sql-запиту повертається не в UTF-8 кодуванні. Намагався встановити кодування за допомогою функції mysql_set_charset ( 'utf8', $ db). але по всі видимості функція не працює, при тому, що MySQL версії 5.0.7. Як можна по іншому задати кодування з'єднання, але не використовуючи SET NAMES?
З.И. Коли працював з тієї ж таблицею за допомогою PDO. при установці кодування:
Поля поверталися в UTF-8.
заданий 27 Вересня '11 о 10:01
Відзначений як дублікат учасником Іпатов php Учасники зі знаками php можуть одноосібно закривати питання з міткою php як дублікати, а також повторно відкривати їх при необхідності. вчора.
З таким запитанням задавали раніше і на нього вже отримано відповідь. Якщо представлені відповіді не є вичерпними, будь ласка, задайте нове питання.
Самий 100% ий код для 100% ого UTF-8: D
відповідь дан 27 Вересня '11 о 10:20
і зовсім без SET NAMES: D - Afipsky 27 Вересня '11 о 10:57
Варіант з SET NAMES я знаю: mysql_query ( "SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $ db), а ось без нього ХЗ! Ну раз по іншому не як, нехай буде відповіддю. Дякуємо. - Afipsky 27 Вересня '11 о 11:27
- Оригінальна API MySQL (функції mysql_) застаріло, починаючи з версії PHP 5.5.0, і видалено в PHP 7.0.0.
Для поліпшеного модуля MySQL (MySQL Improved) кращим способом є використання методу set_charset ().
Використання для цих цілей методу query () (наприклад: SET NAMES 'utf8') не рекомендується.
У PDO слід вказувати кодування з'єднання в параметрі dsn при створенні екземпляра класу роботи з бд:
P.S. Для роботи з чотирьохбайтового UTF-8 (наприклад, щоб емодзі зберігалися в базу) замість кодування utf8 слід використовувати кодування utf8mb4. База також повинна бути налаштована з використанням utf8mb4.
відповідь дан 5 Жовтня о 7:20