Як ўставіць Габрэй значэнне ў БД MySQL у PHP

Я спрабую ўставіць Габрэй значэнне ў маім БД MySQL, замест старажытнаяўрэйскай значэння выглядае наступным чынам.

שדגשדכעשד

Зверка табліцы latin1_swedish_ci па змаўчанні, я паспрабаваў таксама змяніць на UTF-8_general_ci, hebrew_bin, hebrew_general_ci але вынік усё той жа.

У маім кодзе я выкарыстоўваю вядома мета тэг для налады кадоўкі:

<meta charset="UTF-8">

І да майго PHP запыту я дадаў гэты радок:

mysql_query("SET NAMES utf8");

Я прагляд выніку ў PHPMyAdmin.

5
@davidkonrad жа вынік.
дададзена аўтар Imri Persiado, крыніца
@davidkonrad жа вынік.
дададзена аўтар Imri Persiado, крыніца
@davidkonrad жа вынік.
дададзена аўтар Imri Persiado, крыніца
паспрабуйце mysql_set_charset ( 'utf8'); <�я> перад </я> ўставіць значэнне.
дададзена аўтар davidkonrad, крыніца
Гэта можа быць карысным stackoverflow.com/questions/5287821/…
дададзена аўтар davidkonrad, крыніца
Гэта можа быць карысным stackoverflow.com/questions/5287821/…
дададзена аўтар davidkonrad, крыніца
Гэта можа быць карысным stackoverflow.com/questions/5287821/…
дададзена аўтар davidkonrad, крыніца
паспрабуйце mysql_set_charset ( 'utf8'); <�я> перад </я> ўставіць значэнне.
дададзена аўтар davidkonrad, крыніца
Паспрабуйце здабываючы і паказваць дадзеныя без PhpMyAdmin, паколькі яна таксама павінна мець адпаведныя параметры кадавання.
дададзена аўтар Lavi Avigdor, крыніца
Паспрабуйце здабываючы і паказваць дадзеныя без PhpMyAdmin, паколькі яна таксама павінна мець адпаведныя параметры кадавання.
дададзена аўтар Lavi Avigdor, крыніца
Паспрабуйце здабываючы і паказваць дадзеныя без PhpMyAdmin, паколькі яна таксама павінна мець адпаведныя параметры кадавання.
дададзена аўтар Lavi Avigdor, крыніца

22 адказы

I have solved my hebrew language problem. It was an database and table row/field encoding issue. Here is the solution i used. I took help from another answer and the link is given below, in case anyone need it.

  1. the db collation has to be utf8_general_ci.
  2. the collation of the table with hebrew has to be utf8_general_ci
  3. in my PHP connection script i put header('Content-Type: text/html; charset=utf-8');
  4. in my xhtml head tag i put <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. after selecting the db in the connection script i put mysql_query("SET NAMES 'utf8'");

and then the problem was solved.

The first answer helped me and I took it from there

17
дададзена
Гэта было карысна. Дзякуй!
дададзена аўтар yuvalsab, крыніца
Сардараў Радж гэта чароўнае месца для мяне: mysql_query ( «SET NAMES" utf8 "») +1
дададзена аўтар Itai Spector, крыніца

I have solved my hebrew language problem. It was an database and table row/field encoding issue. Here is the solution i used. I took help from another answer and the link is given below, in case anyone need it.

  1. the db collation has to be utf8_general_ci.
  2. the collation of the table with hebrew has to be utf8_general_ci
  3. in my PHP connection script i put header('Content-Type: text/html; charset=utf-8');
  4. in my xhtml head tag i put <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. after selecting the db in the connection script i put mysql_query("SET NAMES 'utf8'");

and then the problem was solved.

The first answer helped me and I took it from there

17
дададзена
Гэта было карысна. Дзякуй!
дададзена аўтар yuvalsab, крыніца
Сардараў Радж гэта чароўнае месца для мяне: mysql_query ( «SET NAMES" utf8 "») +1
дададзена аўтар Itai Spector, крыніца

I have solved my hebrew language problem. It was an database and table row/field encoding issue. Here is the solution i used. I took help from another answer and the link is given below, in case anyone need it.

  1. the db collation has to be utf8_general_ci.
  2. the collation of the table with hebrew has to be utf8_general_ci
  3. in my PHP connection script i put header('Content-Type: text/html; charset=utf-8');
  4. in my xhtml head tag i put <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. after selecting the db in the connection script i put mysql_query("SET NAMES 'utf8'");

and then the problem was solved.

The first answer helped me and I took it from there

17
дададзена
Гэта было карысна. Дзякуй!
дададзена аўтар yuvalsab, крыніца
Сардараў Радж гэта чароўнае месца для мяне: mysql_query ( «SET NAMES" utf8 "») +1
дададзена аўтар Itai Spector, крыніца

<�Моцны> Усталяваць кадыроўку для дасягнення рашэння

Пры стварэнні базы дадзеных

CREATE DATABASE db_name
 CHARACTER SET utf8
 DEFAULT CHARACTER SET utf8
 COLLATE utf8_general_ci
 DEFAULT COLLATE utf8_general_ci
 ;

<�Моцны> Ці, калі база дадзеных ўжо створана

CREATE TABLE table_name(
 ...
 )
 DEFAULT CHARACTER SET utf8   
 COLLATE utf8_general_ci;

<�Моцны> OR пры напісанні запыту

mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conn);


$re = mysql_query('SHOW VARIABLES LIKE "%character_set%";')or die(mysql_error());
while ($r = mysql_fetch_assoc($re)) {var_dump ($r); echo "
";}
6
дададзена

Праверце collation_connection:

show variables like '%collation%'
2
дададзена
Мне вельмі шкада, я не зразумеў ваш адказ. Вы можаце дадаць яшчэ некаторыя дэталі? Дзякуючы.
дададзена аўтар Imri Persiado, крыніца
Вы павінны зрабіць некаторыя ліквідацыі непаладак, выканаць запыт я прапанаваў ад вашага PHP скрыпту (і адлюстраванне вынікаў), каб пераканацца, што ўсе параметры сартавання з'яўляюцца правільнымі.
дададзена аўтар dwjv, крыніца

Праверце collation_connection:

show variables like '%collation%'
2
дададзена
Мне вельмі шкада, я не зразумеў ваш адказ. Вы можаце дадаць яшчэ некаторыя дэталі? Дзякуючы.
дададзена аўтар Imri Persiado, крыніца
Вы павінны зрабіць некаторыя ліквідацыі непаладак, выканаць запыт я прапанаваў ад вашага PHP скрыпту (і адлюстраванне вынікаў), каб пераканацца, што ўсе параметры сартавання з'яўляюцца правільнымі.
дададзена аўтар dwjv, крыніца

Праверце collation_connection:

show variables like '%collation%'
2
дададзена
Мне вельмі шкада, я не зразумеў ваш адказ. Вы можаце дадаць яшчэ некаторыя дэталі? Дзякуючы.
дададзена аўтар Imri Persiado, крыніца
Вы павінны зрабіць некаторыя ліквідацыі непаладак, выканаць запыт я прапанаваў ад вашага PHP скрыпту (і адлюстраванне вынікаў), каб пераканацца, што ўсе параметры сартавання з'яўляюцца правільнымі.
дададзена аўтар dwjv, крыніца

Вы павінны пераканацца, што:

  1. ўсталяваць UTF-8 у PHP
  2. Вы карыстаецеся UTF-8 у сувязі
  3. ваша табліца вызначаецца як UTF-8_general_ci
  4. <�Літый> спецыфічнае поле вызначана як UTF-8_general_ci

Тады вы павінны мець магчымасць праглядаць іўрыт, або любы іншы мову, правільна phpadmin

1
дададзена

Вы павінны пераканацца, што:

  1. ўсталяваць UTF-8 у PHP
  2. Вы карыстаецеся UTF-8 у сувязі
  3. ваша табліца вызначаецца як UTF-8_general_ci
  4. <�Літый> спецыфічнае поле вызначана як UTF-8_general_ci

Тады вы павінны мець магчымасць праглядаць іўрыт, або любы іншы мову, правільна phpadmin

1
дададзена

Вы павінны пераканацца, што:

  1. ўсталяваць UTF-8 у PHP
  2. Вы карыстаецеся UTF-8 у сувязі
  3. ваша табліца вызначаецца як UTF-8_general_ci
  4. <�Літый> спецыфічнае поле вызначана як UTF-8_general_ci

Тады вы павінны мець магчымасць праглядаць іўрыт, або любы іншы мову, правільна phpadmin

1
дададзена

Для выкарыстання ў будучыні, калі ў вас ёсць гэтае пытанне, і вы карыстаецеся PDO і ня MySQLi, вам трэба будзе зрабіць гэта наступным чынам:

  1. The Database (all of it) collation has to be utf8_general_ci.
  2. Set the collation of the table with Hebrew also to utf8_general_ci.
  3. In the HTML "head" tag, add this: < meta charset="utf-8" >
  4. In your PHP connection file, add after the connection Query this line: conn->exec("set names utf8");
  5. if you are using classes, then you will probably have the "conn" as a variable. in that case, you will have to use it like this: $this->conn->exec("set names utf8");

Спадзяюся, што гэта дапамагае будучым людзям, якія маюць гэтую праблему і з дапамогай PDO. Жадаем поспеху.

0
дададзена

Для выкарыстання ў будучыні, калі ў вас ёсць гэтае пытанне, і вы карыстаецеся PDO і ня MySQLi, вам трэба будзе зрабіць гэта наступным чынам:

  1. The Database (all of it) collation has to be utf8_general_ci.
  2. Set the collation of the table with Hebrew also to utf8_general_ci.
  3. In the HTML "head" tag, add this: < meta charset="utf-8" >
  4. In your PHP connection file, add after the connection Query this line: conn->exec("set names utf8");
  5. if you are using classes, then you will probably have the "conn" as a variable. in that case, you will have to use it like this: $this->conn->exec("set names utf8");

Спадзяюся, што гэта дапамагае будучым людзям, якія маюць гэтую праблему і з дапамогай PDO. Жадаем поспеху.

0
дададзена

Для выкарыстання ў будучыні, калі ў вас ёсць гэтае пытанне, і вы карыстаецеся PDO і ня MySQLi, вам трэба будзе зрабіць гэта наступным чынам:

  1. The Database (all of it) collation has to be utf8_general_ci.
  2. Set the collation of the table with Hebrew also to utf8_general_ci.
  3. In the HTML "head" tag, add this: < meta charset="utf-8" >
  4. In your PHP connection file, add after the connection Query this line: conn->exec("set names utf8");
  5. if you are using classes, then you will probably have the "conn" as a variable. in that case, you will have to use it like this: $this->conn->exec("set names utf8");

Спадзяюся, што гэта дапамагае будучым людзям, якія маюць гэтую праблему і з дапамогай PDO. Жадаем поспеху.

0
дададзена

Я згодны з ўсталяваць яго ў якасці опцыі UTF-8, аднак, калі па нейкіх прычынах вы не можаце, то вы заўсёды можаце канвертаваць ў base64. Не самы лепшы (на доўгі шлях), але можа дапамагчы камусьці з адтуліны.

0
дададзена

Я згодны з ўсталяваць яго ў якасці опцыі UTF-8, аднак, калі па нейкіх прычынах вы не можаце, то вы заўсёды можаце канвертаваць ў base64. Не самы лепшы (на доўгі шлях), але можа дапамагчы камусьці з адтуліны.

0
дададзена

Я згодны з ўсталяваць яго ў якасці опцыі UTF-8, аднак, калі па нейкіх прычынах вы не можаце, то вы заўсёды можаце канвертаваць ў base64. Не самы лепшы (на доўгі шлях), але можа дапамагчы камусьці з адтуліны.

0
дададзена

Я б сказаў, для таго, каб пераканацца, што значэнні перадаюцца таксама ў базу дадзеных, я б дадаць Пастулаты памерці, перш чым ўстаўляць у базу дадзеных і раздрукаваць значэнне, прыклад:

die($_POST['thevalue']);
//insert to database.
//...

Калі яна ідзе добра, то праблема на баку базы дадзеных, у базе дадзеных я хацеў бы паспрабаваць з гэтым комплектовке

| Hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 |

у адпаведнасці з http://dev.mysql.com/doc/refman /5.0/en/charset-mysql.html прапанаваць.

Але калі ён не ў стане на баку PHP, прычына можа быць, сервер не падтрымлівае іўрыт, пераканайцеся, што на HTML вываду дакумента вы карыстаецеся правільны метатега з

...
<meta charset="ISO 8859-8">
...

Давайце ведае, як працягнуць, поспехі :)

0
дададзена

Я б сказаў, для таго, каб пераканацца, што значэнні перадаюцца таксама ў базу дадзеных, я б дадаць Пастулаты памерці, перш чым ўстаўляць у базу дадзеных і раздрукаваць значэнне, прыклад:

die($_POST['thevalue']);
//insert to database.
//...

Калі яна ідзе добра, то праблема на баку базы дадзеных, у базе дадзеных я хацеў бы паспрабаваць з гэтым комплектовке

| Hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 |

у адпаведнасці з http://dev.mysql.com/doc/refman /5.0/en/charset-mysql.html прапанаваць.

Але калі ён не ў стане на баку PHP, прычына можа быць, сервер не падтрымлівае іўрыт, пераканайцеся, што на HTML вываду дакумента вы карыстаецеся правільны метатега з

...
<meta charset="ISO 8859-8">
...

Давайце ведае, як працягнуць, поспехі :)

0
дададзена

Я б сказаў, для таго, каб пераканацца, што значэнні перадаюцца таксама ў базу дадзеных, я б дадаць Пастулаты памерці, перш чым ўстаўляць у базу дадзеных і раздрукаваць значэнне, прыклад:

die($_POST['thevalue']);
//insert to database.
//...

Калі яна ідзе добра, то праблема на баку базы дадзеных, у базе дадзеных я хацеў бы паспрабаваць з гэтым комплектовке

| Hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 |

у адпаведнасці з http://dev.mysql.com/doc/refman /5.0/en/charset-mysql.html прапанаваць.

Але калі ён не ў стане на баку PHP, прычына можа быць, сервер не падтрымлівае іўрыт, пераканайцеся, што на HTML вываду дакумента вы карыстаецеся правільны метатега з

...
<meta charset="ISO 8859-8">
...

Давайце ведае, як працягнуць, поспехі :)

0
дададзена

тое, што, нарэшце, дапамаглі мне, каб дадаць кадыроўку для падлучэння:

{"mysql:host=$host;dbname=$db;charset=utf8"}
0
дададзена

тое, што, нарэшце, дапамаглі мне, каб дадаць кадыроўку для падлучэння:

{"mysql:host=$host;dbname=$db;charset=utf8"}
0
дададзена

тое, што, нарэшце, дапамаглі мне, каб дадаць кадыроўку для падлучэння:

{"mysql:host=$host;dbname=$db;charset=utf8"}
0
дададзена